ci(ticdc): avoid regular integration jobs on nextgen branches#4656
Conversation
Signed-off-by: cfzjywxk <cfzjywxk@gmail.com>
There was a problem hiding this comment.
I have already done a preliminary review for you, and I hope to help you do a better job.
Summary
This PR removes the release-nextgen-\d+ regex branch pattern from the regular TiCDC presubmit branch set in latest-presubmits.yaml. The change ensures that next-gen branches no longer trigger the regular integration jobs, which rely on artifacts from the standard OCI registry rather than the next-gen pipeline registry. The approach is a minimal change focused on branch pattern exclusion, and the author has verified the resulting branch/job mappings locally and ran syntax checks. Overall, the change is straightforward, with no apparent bugs or regressions.
Code Improvements
-
prow-jobs/pingcap/ticdc/latest-presubmits.yaml (line 5-6)
Removing therelease-nextgen-\d+branch from the branch list is correct for avoiding regular jobs on next-gen branches. However, consider adding a comment near this list explaining why this branch is excluded, for future maintainers who may wonder about the omission:branches: &branches - ^master$ # Exclude next-gen release branches to avoid triggering regular TiCDC integration jobs # which use incompatible artifact registries - ^release-8\.5(\.\d+)?(-\d+)?(-v[\.\d]+)?(-\d+)?$ - ^feature/.+
This small documentation would improve maintainability.
Best Practices
-
Testing Coverage
The PR description mentions manual verification and a syntax check withprowgen. However, consider adding or updating automated tests for presubmit job matching on branches, if such tests exist in the repo, to catch regressions on branch/job mappings automatically. -
Documentation
The PR description and commit message are clear and detailed. However, adding a short note in theprow-jobs/pingcap/ticdc/latest-presubmits.yamlfile itself about next-gen branch handling would improve discoverability of this special case by other engineers.
No critical issues or security concerns identified. The change is minimal and well-justified.
|
@wuhuizuo @tenfyzhong |
|
[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 DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
[LGTM Timeline notifier]Timeline:
|
What changed
Remove
^release-nextgen-\d+$from the regular TiCDC presubmit branch set inprow-jobs/pingcap/ticdc/latest-presubmits.yaml.The next-gen presubmits in
prow-jobs/pingcap/ticdc/latest-presubmits-next-gen.yamlstill matchrelease-nextgen-*branches.Why
TiCDC PRs targeting
release-nextgen-202603currently trigger regular jobs such aspull-cdc-pulsar-integration-lightwhen/test allis used. Those regular jobs download TiDB, PD, and TiKV artifacts from the normalhubOCI registry, but next-gen artifacts are handled by the*_next_genpipelines through thetidbxregistry.This caused artifact lookup failures like:
us-docker.pkg.dev/pingcap-testing-account/hub/pingcap/tidb/package:release-nextgen-202603_linux_amd64: not foundRef: pingcap/ticdc#5203
Verification
Parsed the Prow YAML locally and checked branch/trigger selection for
release-nextgen-202603:/test allselected the regular TiCDC integration jobs./test allselects no regular TiCDC jobs onrelease-nextgen-202603./test next-genstill selects the*_next_genTiCDC integration jobs./test pull-cdc-pulsar-integration-light-next-genstill selectspull_cdc_pulsar_integration_light_next_gen.master,release-8.5, andfeature/foostill select the regular/test alljobs.Also ran
git diff --checkfor the changed file.