Skip to content

ci(prow): migrate pingcap/tidb release-8.1 jobs to target jenkins - #5137

Merged
wuhuizuo merged 2 commits into
mainfrom
phase4/pingcap-tidb-release-8.1
Sep 8, 2026
Merged

wuhuizuo merged 2 commits into
mainfrom
phase4/pingcap-tidb-release-8.1

Conversation

@wuhuizuo

@wuhuizuo wuhuizuo commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

Part of #4959.

Summary

Flip labels.master "1" -> "0" for the jenkins-agent jobs in prow-jobs/pingcap/tidb/release-8.1-presubmits.yaml so they are scheduled on the to Jenkins.

Part of #4947 / #4942

@ti-chi-bot ti-chi-bot Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have already done a preliminary review for you, and I hope to help you do a better job.

Summary
This PR updates the prow job configurations for the pingcap/tidb release-8.1 branch by changing the labels.master value from "1" to "0" for all Jenkins agent jobs in the release-8.1-presubmits.yaml file. This change reroutes job scheduling from the old Jenkins master to a new target Jenkins instance. The modifications are consistent and straightforward, focusing on the label update. Overall, the changes are low-risk and clearly scoped to the intended migration.


Code Improvements

  • Centralize label value for maintainability
    File: prow-jobs/pingcap/tidb/release-8.1-presubmits.yaml (lines 10-265 approx)
    Issue: The label master: "0" is repeated verbatim for every job. This introduces duplication and increases maintenance overhead if the label needs to be updated again.
    Suggestion: Consider defining a reusable YAML anchor or a common job template if supported by your prow job configuration tooling, or automate label injection via a script or CI pipeline step. For example:

    default_labels: &default_labels
      master: "0"
    
    presubmits:
      - name: pingcap/tidb/release-8.1/ghpr_build
        agent: jenkins
        labels: 
          <<: *default_labels
        ...

    This reduces repetition and potential human errors on future edits.


Best Practices

  • Add or update comments to clarify the meaning of label change
    File: prow-jobs/pingcap/tidb/release-8.1-presubmits.yaml (near labels section)
    Issue: The comment # need add this. next to decorate: false is vague and does not explain the purpose of the master label change or why decorate is false.
    Suggestion: Improve comments to explain the intent of the label flip and the impact on job scheduling. For example:

    # Set master label to "0" to route jobs to the new target Jenkins instance.
    # decorate: false disables decoration due to Jenkins-specific requirements.
    labels:
      master: "0"
  • Testing and validation
    Since this is a configuration change affecting CI job scheduling, ensure that the affected jobs have been tested or validated in a staging environment before merging.
    Suggestion: Add a note in the PR description or comments about testing done or planned to verify jobs run correctly on the new Jenkins target.


No critical issues detected as this is a configuration update with consistent changes. The main opportunities lie in reducing repetition and improving documentation for future maintainers.

@ti-chi-bot

ti-chi-bot commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

Jenkins Migration Verification

Migrating jenkins-agent Prow jobs to the to Jenkins (labels.master: 1 -> 0).

  • pingcap/tidb/release-8.1/pull_lightning_integration_test
    • status: skipped
  • pingcap/tidb/release-8.1/pull_integration_ddl_test
    • status: skipped
  • pingcap/tidb/release-8.1/pull_integration_mysql_test
    • status: skipped
  • pingcap/tidb/release-8.1/pull_integration_copr_test
    • status: skipped
  • pingcap/tidb/release-8.1/pull_integration_jdbc_test
    • status: skipped
  • pingcap/tidb/release-8.1/pull_common_test
    • status: skipped
  • pingcap/tidb/release-8.1/pull_integration_common_test
    • status: skipped
  • pingcap/tidb/release-8.1/pull_sqllogic_test
    • status: skipped
  • pingcap/tidb/release-8.1/pull_tiflash_test
    • status: skipped
  • pingcap/tidb/release-8.1/pull_integration_nodejs_test
    • status: skipped
  • pingcap/tidb/release-8.1/pull_integration_python_orm_test
    • status: skipped
  • pingcap/tidb/release-8.1/pull_integration_tidb_tools_test
    • status: skipped
  • pingcap/tidb/release-8.1/pull_integration_binlog_test
    • status: skipped

Summary: success=0 submitted=0 failed=0 infra-fail=0 skipped=13 dry-run=0 total=13

@ti-chi-bot ti-chi-bot Bot added the size/M label Sep 4, 2026
wuhuizuo added a commit that referenced this pull request Sep 4, 2026
…nkins

Split from #5137: jobs verified SUCCESS on the to Jenkins in
pull-verify-jenkins-migration runid 2095811327330095104. Flip their labels.master.

Part of #4959
wuhuizuo added a commit that referenced this pull request Sep 4, 2026
…nkins (#5164)

Split from #5137 — only the jobs that verified **SUCCESS** on the to
Jenkins (verify runid 2095811327330095104):
- `ghpr_check`
- `ghpr_check2`
- `ghpr_unit_test`
- `pull_br_integration_test`
- `pull_e2e_test`
Flip labels.master "1" -> "0" for the jenkins-agent jobs in prow-jobs/pingcap/tidb/release-8.1-presubmits.yaml so
they are scheduled on the to Jenkins.

Part of #4959
@wuhuizuo
wuhuizuo force-pushed the phase4/pingcap-tidb-release-8.1 branch from ce2b16f to f5c9213 Compare September 7, 2026 03:17

@ti-chi-bot ti-chi-bot Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have already done a preliminary review for you, and I hope to help you do a better job.

Summary:
This PR updates the prow-jobs/pingcap/tidb/release-8.1-presubmits.yaml file by flipping the labels.master value from "1" to "0" for all Jenkins-agent jobs. This change aims to migrate the scheduling of these jobs to a different Jenkins target as part of ongoing CI migration efforts. The change is straightforward and consistently applied across all relevant jobs. The YAML syntax and structure appear correct, and the PR description clearly states the purpose and references relevant issues.

Code Improvements:

  • Centralize the label change or use variables/templates:
    Since the only change is flipping master label from "1" to "0" for multiple jobs, consider reducing duplication and risk of inconsistent updates by using a YAML anchor/alias or leveraging templating features if supported by your CI system. This avoids manual repetitive edits.

    Example using YAML anchors for labels:

    labels_master_off: &labels_master_off
      master: "0"
    
    presubmits:
      - name: pingcap/tidb/release-8.1/ghpr_build
        agent: jenkins
        labels: *labels_master_off
        ...
  • Add a comment explaining the label flip:
    Each job has a comment # need add this. on decorate: false. Adding a short comment near labels.master: "0" to clarify the label change purpose would help future maintainers understand why "0" is used, e.g.,

    labels:
      master: "0"  # Changed from "1" to migrate to target Jenkins per #4959

Best Practices:

  • Testing or validation coverage:
    The PR does not mention any testing or validation steps taken to verify that jobs are correctly scheduled on the target Jenkins after the label change. Consider adding a note in the PR description or documentation about how this migration will be validated to catch misconfiguration early.

  • Consistency in comments:
    The comment # need add this. on decorate: false is repeated but unclear. Consider clarifying or removing if not relevant to this PR.

Critical Issues:

No critical issues detected. The straightforward label change is unlikely to introduce runtime bugs but depends on the correctness of label semantics in the CI system.


Summary: The PR effectively accomplishes its goal with minimal complexity. It can be improved by introducing YAML anchors or templating to reduce duplication and adding explanatory comments for maintainability. Including validation information would strengthen confidence in the migration.

@wuhuizuo

wuhuizuo commented Sep 8, 2026

Copy link
Copy Markdown
Contributor Author

/retest

@ti-chi-bot ti-chi-bot Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have already done a preliminary review for you, and I hope to help you do a better job.

Summary:
This PR migrates the pingcap/tidb release-8.1 presubmit jobs from one Jenkins target to another by flipping the labels.master value from "1" to "0" in the prow-jobs/pingcap/tidb/release-8.1-presubmits.yaml file. The approach is straightforward, consisting solely of modifying the label values for multiple Jenkins-agent jobs. The changes are consistent and systematic, with no apparent syntactic or logical errors. Overall, the PR is simple and well-scoped.


Code Improvements

  • Centralize label value for ease of future changes
    File: prow-jobs/pingcap/tidb/release-8.1-presubmits.yaml (multiple lines)
    Issue: The label master is explicitly set to "0" in many places. If this value needs to be changed again in the future, it would require modifying many entries.
    Suggestion: Consider defining this label value once at a higher level or using anchors & aliases in YAML to reduce duplication. For example:

    default_label: &jenkins_master_label
      master: "0"
    
    presubmits:
      - name: pingcap/tidb/release-8.1/pull_lightning_integration_test
        agent: jenkins
        labels: *jenkins_master_label
        ...

    This approach improves maintainability for the label value changes.

  • Add a comment to explain the significance of master: "0" vs "1"
    File: prow-jobs/pingcap/tidb/release-8.1-presubmits.yaml (around line 78 and repeated)
    Issue: The meaning of the label master being "0" or "1" is not obvious from the config. Adding a short comment would improve clarity for future maintainers.
    Suggestion:

    labels:
      master: "0" # "0" schedules on new Jenkins target; "1" is old target

Best Practices

  • Add a brief changelog or PR description update about impact
    PR Description: Currently, the description is brief and references issue numbers, but lacks detail on the impact of this change (e.g., what benefits or risks this migration brings).
    Suggestion: Add a sentence summarizing why the migration is done (e.g., improved reliability, cost, or infrastructure change) and any expected impact on job scheduling or runtime. This helps reviewers and future readers understand the "why" behind the change more fully.

  • Test coverage or validation
    Since this is a config-only change, ensure that the jobs are tested by running a few presubmits to confirm they are correctly scheduled on the new Jenkins target. Consider adding a note in the PR or commit message about such validation.


No critical issues detected. The PR is a clean and low-risk config update but would benefit from minor maintainability and documentation enhancements.

@ti-chi-bot ti-chi-bot Bot added size/S and removed size/M labels Sep 8, 2026
@wuhuizuo

wuhuizuo commented Sep 8, 2026

Copy link
Copy Markdown
Contributor Author

/approve

@ti-chi-bot

ti-chi-bot Bot commented Sep 8, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: wuhuizuo

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@ti-chi-bot ti-chi-bot Bot added the approved label Sep 8, 2026
@wuhuizuo
wuhuizuo merged commit 0d25a40 into main Sep 8, 2026
8 of 9 checks passed
@wuhuizuo
wuhuizuo deleted the phase4/pingcap-tidb-release-8.1 branch September 8, 2026 10:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: ✅ Done

Development

Successfully merging this pull request may close these issues.

2 participants