Skip to content

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

Open
wuhuizuo wants to merge 2 commits into
mainfrom
phase4/pingcap-tidb-release-7.5
Open

ci(prow): migrate pingcap/tidb release-7.5 jobs to target jenkins#5136
wuhuizuo wants to merge 2 commits into
mainfrom
phase4/pingcap-tidb-release-7.5

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-7.5-presubmits.yaml so they are scheduled on the to Jenkins.

Part of #4947 / #4942

@ti-chi-bot

ti-chi-bot Bot commented Sep 4, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign wuhuizuo for approval. For more information see the Code Review Process.
Please ensure that each of them provides their approval before proceeding.

The full list of commands accepted by this bot can be found 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 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 labeling of Jenkins-agent jobs in the release-7.5-presubmits.yaml file from "master": "1" to "master": "0". This change is intended to reroute these presubmit jobs to a new Jenkins target. The approach is straightforward and systematically applied across all relevant jobs. The patch is clean, with no apparent syntax errors or formatting issues.


Code Improvements:

  • Maintainability and Future-proofing:

    • File: prow-jobs/pingcap/tidb/release-7.5-presubmits.yaml (lines ~9–250)
    • Issue: The PR changes the master label from "1" to "0" repeatedly for each job. While this is correct for now, if similar label flips need to be done in the future or for other releases, manually editing many jobs is error-prone.
    • Suggestion: Consider introducing a templating mechanism or a common label configuration block that can be updated once and applied to all jobs. For example, using anchors and aliases in YAML:
      labels_master: &labels_master
        master: "0"
      ...
      - name: pingcap/tidb/release-7.5/ghpr_build
        agent: jenkins
        labels: *labels_master
      This would reduce duplication and simplify future migrations.
  • Documentation:

    • The comment # need add this. next to decorate: false is unclear and grammatically incomplete.
    • Suggestion: Replace or expand the comment to clarify why decorate: false is needed, or remove it if outdated:
      decorate: false # Required to disable decoration for Jenkins jobs

Best Practices:

  • Testing and Validation:

    • Since the change affects CI job scheduling, it is crucial to validate that the jobs are correctly picked up by the new Jenkins infrastructure.
    • Suggestion: Ensure integration testing or dry-run testing is performed after deployment. If not already done, add a note in the PR or documentation about how to verify the migration.
  • Commit Message and PR Description:

    • The PR description references multiple issues (#4959, #4947, #4942), but the linkage and context are minimal.
    • Suggestion: Expand the description to briefly explain the overall migration strategy and why flipping labels is necessary. This helps reviewers and future maintainers understand the context without hunting through issues.

Summary of Actionable Feedback:

- Consider refactoring the YAML file to use anchors/aliases for the `labels.master` field to improve maintainability.
- Clarify or remove the comment `# need add this.` next to `decorate: false`.
- Add notes or documentation on how to verify that jobs are scheduled on the new Jenkins target after this label change.
- Expand the PR description to clearly explain the purpose and scope of this migration for better maintainability and context.

@ti-chi-bot ti-chi-bot Bot added the size/M label Sep 4, 2026
@ti-chi-bot

ti-chi-bot commented Sep 4, 2026

Copy link
Copy Markdown
Collaborator

Jenkins Migration Verification

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

  • pingcap/tidb/release-7.5/ghpr_check2
    • status: failed
  • pingcap/tidb/release-7.5/pull_br_integration_test
    • status: skipped
  • pingcap/tidb/release-7.5/pull_integration_ddl_test
    • status: skipped
  • pingcap/tidb/release-7.5/pull_mysql_client_test
    • status: skipped
  • pingcap/tidb/release-7.5/pull_integration_mysql_test
    • status: skipped
  • pingcap/tidb/release-7.5/pull_integration_copr_test
    • status: skipped
  • pingcap/tidb/release-7.5/pull_integration_jdbc_test
    • status: skipped
  • pingcap/tidb/release-7.5/pull_common_test
    • status: skipped
  • pingcap/tidb/release-7.5/pull_integration_common_test
    • status: skipped
  • pingcap/tidb/release-7.5/pull_sqllogic_test
    • status: skipped
  • pingcap/tidb/release-7.5/pull_tiflash_test
    • status: skipped
  • pingcap/tidb/release-7.5/pull_integration_nodejs_test
    • status: skipped
  • pingcap/tidb/release-7.5/pull_integration_python_orm_test
    • status: skipped
  • pingcap/tidb/release-7.5/pull_integration_tidb_tools_test
    • status: skipped
  • pingcap/tidb/release-7.5/pull_integration_binlog_test
    • status: skipped

Summary: success=0 submitted=0 failed=1 infra-fail=0 skipped=14 dry-run=0 total=15

wuhuizuo added a commit that referenced this pull request Sep 4, 2026
…nkins

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

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

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

Part of #4959
@wuhuizuo
wuhuizuo force-pushed the phase4/pingcap-tidb-release-7.5 branch from b19b782 to 67d590b 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 migrates the pingcap/tidb release-7.5 presubmit jobs in Prow from the old Jenkins setup to the target Jenkins by flipping the labels.master value from "1" to "0". The change is straightforward, consistently applied across all jobs, and aligns with the stated goal of rerouting jobs to the new Jenkins infrastructure. Overall, the modifications are clean and follow the existing YAML structure with no apparent syntax issues.


Code Improvements

  • Potential for DRY / Automation:

    • File: prow-jobs/pingcap/tidb/release-7.5-presubmits.yaml
    • Lines: All job definitions with the labels.master key
    • Issue: The same label change (master: "1" -> master: "0") is repeated verbatim for many jobs across the file.
    • Suggestion: Consider automating this kind of label flip by using a script or templating system that can update all relevant jobs at once to reduce human error and improve maintainability. If no automation is feasible, adding a comment at the top explaining this is a bulk migration might help future maintainers.
  • Validation of Label Usage:

    • File: Same as above
    • Lines: All changes to labels.master
    • Issue: It's not clear from the diff or PR whether master: "0" is a known and accepted label value in the Jenkins scheduling context. Incorrect label values could lead to jobs being unscheduled.
    • Suggestion: Ensure that "0" is the correct and supported value for the target Jenkins, and verify that no other tools or scripts depend on the old "1" value. Adding a brief comment in the YAML to clarify the meaning of master: "0" could be helpful.

Best Practices

  • Documentation of Migration Impact:

    • File: PR description, optionally add to prow-jobs/pingcap/tidb/release-7.5-presubmits.yaml
    • Issue: The change affects job scheduling but does not document the impact on CI behavior, potential downtime, or rollback steps.
    • Suggestion: Add a short note in the PR description or as a comment in the YAML file describing:
      • Why the master label is flipped
      • How this affects job scheduling
      • Any expected changes in job runtime or environment
      • Contact or owner information for troubleshooting
  • Testing / Verification:

    • File: N/A (configuration YAML)
    • Issue: No mention of how this change was tested or verified (e.g., did jobs successfully run on the target Jenkins after this change?)
    • Suggestion: Include a note in the PR description or commit message about testing steps performed, or add relevant e2e tests if applicable, to improve confidence in the migration.

No critical issues detected given the limited scope and nature of the change. The PR is low risk but would benefit from improved documentation and verification notes to aid future maintainers and CI operators.

@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 updates the prow-jobs/pingcap/tidb/release-7.5-presubmits.yaml configuration by changing the label master from "1" to "0" for all Jenkins agent jobs. This change reassigns these jobs from the old Jenkins master to the new target Jenkins, representing a migration effort. The change is consistent and straightforward, focusing on a single label value flip across multiple job entries. The patch is clean and follows the existing YAML structure without introducing syntax issues.


Code Improvements:

  • Consider adding a comment or metadata about the meaning of the master label values (e.g., "1" vs "0")

    • File: prow-jobs/pingcap/tidb/release-7.5-presubmits.yaml (lines throughout)
    • Why: The label master with values "1" or "0" is not self-explanatory. Adding a short comment explaining what these values signify (e.g., "1" = old Jenkins, "0" = new Jenkins) will improve maintainability and clarity for future contributors.
    • Suggestion:
      labels:
        master: "0" # "0" routes jobs to the new Jenkins; was "1" for the old Jenkins
  • Validate if any other labels or fields need updating alongside master

    • File: prow-jobs/pingcap/tidb/release-7.5-presubmits.yaml
    • Why: Since this is a migration to a new Jenkins, confirm that other job parameters (e.g., context, decorate, agent) do not require adjustment to suit the new environment. This is not visible in the diff, so a quick audit or note in the PR description might be helpful.

Best Practices:

  • Add a brief summary or changelog entry in the PR description about testing or validation done after migration

    • Why: Since this affects CI job scheduling, providing information on how the changes were tested (e.g., jobs successfully triggered on the new Jenkins) would boost confidence and ease review.
    • Suggestion: Add a section like:
      ## Validation
      - Confirmed jobs are triggered and executed on the new Jenkins instance.
      - No failures observed in the migrated jobs.
      
  • Consider adding automated tests or job dry run where possible

    • Why: While this is primarily a config change, ensuring jobs run correctly on the new Jenkins can be automated or at least partially validated through dry-run or simulation tools (if supported). This can be mentioned or done as a follow-up.

Overall, this PR is low risk and well-scoped. Adding clarifying comments and some validation notes would enhance maintainability and reviewer confidence.

@wuhuizuo

wuhuizuo commented Sep 8, 2026

Copy link
Copy Markdown
Contributor Author

Flaky follow-up: reran ghpr_check2 for release-7.5. Jenkins run: https://do.pingcap.net/jenkins-staging/job/pingcap/job/tidb/job/release-7.5/job/ghpr_check2/6/

@wuhuizuo

wuhuizuo commented Sep 9, 2026

Copy link
Copy Markdown
Contributor Author

/retest

@ti-chi-bot

ti-chi-bot Bot commented Sep 9, 2026

Copy link
Copy Markdown

@wuhuizuo: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
pull-verify-jenkins-migration 52b0944 link true /test pull-verify-jenkins-migration

Full PR test history. Your PR dashboard.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

2 participants