<freeStyleBuild _class='hudson.model.FreeStyleBuild'><action _class='hudson.model.CauseAction'><cause _class='com.cloudbees.jenkins.GitHubPushCause'><shortDescription>Started by GitHub push by ti-chi-bot[bot]</shortDescription></cause><cause _class='com.cloudbees.jenkins.GitHubPushCause'><shortDescription>Started by GitHub push by ti-chi-bot[bot]</shortDescription></cause></action><action></action><action _class='jenkins.metrics.impl.TimeInQueueAction'><blockedDurationMillis>0</blockedDurationMillis><blockedTimeMillis>0</blockedTimeMillis><buildableDurationMillis>15412</buildableDurationMillis><buildableTimeMillis>15412</buildableTimeMillis><buildingDurationMillis>146186</buildingDurationMillis><executingTimeMillis>146186</executingTimeMillis><executorUtilization>1.0</executorUtilization><subTaskCount>0</subTaskCount><waitingDurationMillis>6321</waitingDurationMillis><waitingTimeMillis>6321</waitingTimeMillis></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><originmain _class='hudson.plugins.git.util.Build'><buildNumber>1607</buildNumber><marked><SHA1>e629c7c8683bce79a70d48f1d82e8bd677a5f283</SHA1><branch><SHA1>e629c7c8683bce79a70d48f1d82e8bd677a5f283</SHA1><name>origin/main</name></branch></marked><revision><SHA1>e629c7c8683bce79a70d48f1d82e8bd677a5f283</SHA1><branch><SHA1>e629c7c8683bce79a70d48f1d82e8bd677a5f283</SHA1><name>origin/main</name></branch></revision></originmain></buildsByBranchName><lastBuiltRevision><SHA1>e629c7c8683bce79a70d48f1d82e8bd677a5f283</SHA1><branch><SHA1>e629c7c8683bce79a70d48f1d82e8bd677a5f283</SHA1><name>origin/main</name></branch></lastBuiltRevision><remoteUrl>https://github.com/PingCAP-QE/ci.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><building>false</building><displayName>#1607</displayName><duration>146186</duration><estimatedDuration>83303</estimatedDuration><fullDisplayName>seed #1607</fullDisplayName><id>1607</id><inProgress>false</inProgress><keepLog>false</keepLog><number>1607</number><queueId>3662086</queueId><result>SUCCESS</result><timestamp>1775801426344</timestamp><url>https://do.pingcap.net/jenkins/view/all/job/seed/1607/</url><builtOn>default-g4jg4</builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>tekton/v1/triggers/triggers/env-gcp/_/git-create-branch-ng.yaml</affectedPath><affectedPath>prow-jobs/pingcap/tiflow/latest-presubmits-next-gen.yaml</affectedPath><affectedPath>tekton/v1/triggers/triggers/env-gcp/_/git-push-branch-build-ng.yaml</affectedPath><affectedPath>jobs/pingcap/tiflow/latest/pull_dm_integration_test_next_gen.groovy</affectedPath><affectedPath>prow-jobs/kustomization.yaml</affectedPath><affectedPath>tekton/v1/triggers/triggers/env-gcp/_/git-create-tag-build-ng.yaml</affectedPath><affectedPath>pipelines/pingcap/tiflow/latest/pull_dm_integration_test_next_gen.groovy</affectedPath><commitId>e629c7c8683bce79a70d48f1d82e8bd677a5f283</commitId><timestamp>1775801400000</timestamp><author><absoluteUrl>https://do.pingcap.net/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></author><authorEmail>noreply@github.com</authorEmail><comment>feat(tiflow): add nextgen DM integration presubmit (#4501)

## Summary
- add a dedicated `pingcap/tiflow` nextgen presubmit for
`release-nextgen-*` branches
- add a nextgen DM integration Jenkins job and pipeline derived from the
classic DM integration test
- switch downloaded dependency tags for `tidb` / `tikv` / `pd` to
`component.computeArtifactNextGenOciTagFromPR(...)`, point artifact
pulls to `tidbx`, and inject `NEXT_GEN=1` for the DM-under-test path

Closes #4499

## Why this shape
- keep the classic `pull_dm_integration_test` path untouched
- isolate nextgen behavior into a dedicated job / context / branch
matcher
- follow the existing `pingcap/ticdc` nextgen pattern for registry auth
and nextgen OCI tag resolution

## sync-diff-inspector decision
- this PR keeps `sync-diff-inspector` on the current fixed source
(`master`) instead of switching it to a nextgen tiflow package tag
- reason: the current request only requires the DM nextgen presubmit
plus nextgen dependency resolution for the external components (`tidb` /
`tikv` / `pd`), and switching `sync-diff-inspector` would add a
dependency on separate tiflow-package rollout work that is not required
for this minimal CI path

## Validation
### Before change
- `pingcap/tiflow` had only the classic DM integration presubmit in
`prow-jobs/pingcap/tiflow/latest-presubmits.yaml`
- there was no `pull_dm_integration_test_next_gen` job/pipeline path
- the classic pipeline used `computeArtifactOciTagFromPR(...)` for
`tidb` / `tikv` / `pd` and had no `NEXT_GEN` injection

### After change
- `git diff --check`: pass
- YAML parse: pass for
  - `prow-jobs/pingcap/tiflow/latest-presubmits-next-gen.yaml`
  - `prow-jobs/kustomization.yaml`
- kustomization inclusion check: pass for
`pingcap_tiflow_latest-presubmits-next-gen.yaml=pingcap/tiflow/latest-presubmits-next-gen.yaml`
- Jenkins model validation: pass
- `JENKINS_URL=https://do.pingcap.net/jenkins
./.ci/verify-jenkins-pipeline-file.sh
pipelines/pingcap/tiflow/latest/pull_dm_integration_test_next_gen.groovy`
  - result: `Jenkinsfile successfully validated.`
</comment><date>2026-04-10 06:10:00 +0000</date><id>e629c7c8683bce79a70d48f1d82e8bd677a5f283</id><msg>feat(tiflow): add nextgen DM integration presubmit (#4501)</msg><path><editType>add</editType><file>pipelines/pingcap/tiflow/latest/pull_dm_integration_test_next_gen.groovy</file></path><path><editType>edit</editType><file>tekton/v1/triggers/triggers/env-gcp/_/git-create-tag-build-ng.yaml</file></path><path><editType>add</editType><file>prow-jobs/pingcap/tiflow/latest-presubmits-next-gen.yaml</file></path><path><editType>edit</editType><file>tekton/v1/triggers/triggers/env-gcp/_/git-create-branch-ng.yaml</file></path><path><editType>add</editType><file>jobs/pingcap/tiflow/latest/pull_dm_integration_test_next_gen.groovy</file></path><path><editType>edit</editType><file>prow-jobs/kustomization.yaml</file></path><path><editType>edit</editType><file>tekton/v1/triggers/triggers/env-gcp/_/git-push-branch-build-ng.yaml</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://do.pingcap.net/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></culprit></freeStyleBuild>