<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>15829</buildableDurationMillis><buildableTimeMillis>15829</buildableTimeMillis><buildingDurationMillis>43611</buildingDurationMillis><executingTimeMillis>43611</executingTimeMillis><executorUtilization>1.0</executorUtilization><subTaskCount>0</subTaskCount><waitingDurationMillis>6988</waitingDurationMillis><waitingTimeMillis>6988</waitingTimeMillis></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><originmain _class='hudson.plugins.git.util.Build'><buildNumber>1786</buildNumber><marked><SHA1>0bb5d8ffa9d082ac3dd81829bc0f7503b4dec0ce</SHA1><branch><SHA1>0bb5d8ffa9d082ac3dd81829bc0f7503b4dec0ce</SHA1><name>origin/main</name></branch></marked><revision><SHA1>0bb5d8ffa9d082ac3dd81829bc0f7503b4dec0ce</SHA1><branch><SHA1>0bb5d8ffa9d082ac3dd81829bc0f7503b4dec0ce</SHA1><name>origin/main</name></branch></revision></originmain></buildsByBranchName><lastBuiltRevision><SHA1>0bb5d8ffa9d082ac3dd81829bc0f7503b4dec0ce</SHA1><branch><SHA1>0bb5d8ffa9d082ac3dd81829bc0f7503b4dec0ce</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>#1786</displayName><duration>43611</duration><estimatedDuration>50115</estimatedDuration><fullDisplayName>seed #1786</fullDisplayName><id>1786</id><inProgress>false</inProgress><keepLog>false</keepLog><number>1786</number><queueId>3694121</queueId><result>SUCCESS</result><timestamp>1781761872482</timestamp><url>https://do.pingcap.net/jenkins/job/seed/1786/</url><builtOn>default-7tt5m</builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>tekton/v1/tasks/delivery/pingcap-notify-to-update-ops-tidbx.yaml</affectedPath><affectedPath>tekton/v1/triggers/triggers/env-gcp/kustomization.yaml</affectedPath><affectedPath>tekton/v1/triggers/triggers/env-gcp/_/notify/notified-successful-image-delivery-cloud-tidbx.yaml</affectedPath><affectedPath>tekton/v1/triggers/triggers/env-gcp/_/notify/update-tcms-when-tidbx-image-distributed-to-clouds.yaml</affectedPath><affectedPath>tekton/v1/triggers/triggers/env-gcp/_/notify/update-ops-when-tidbx-image-distributed-to-clouds.yaml</affectedPath><commitId>0bb5d8ffa9d082ac3dd81829bc0f7503b4dec0ce</commitId><timestamp>1781761845000</timestamp><author><absoluteUrl>https://do.pingcap.net/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></author><authorEmail>noreply@github.com</authorEmail><comment>refactor(tekton): split tidbx trigger and add tag filter for ops (#4700)

## Summary

Refactors the tidbx image delivery notification triggers to improve
separation of concerns and add release-tag filtering.

## Changes

### 1. Split combined trigger into two focused triggers

The previous `notified-successful-image-delivery-cloud-tidbx` trigger
spawned both an ops-update **and** a TCMS-update TaskRun in a single
trigger. This meant both tasks shared the same filter conditions, which
is not ideal — TCMS should record all image deliveries, but ops should
only act on release images.

- **`update-ops-when-tidbx-image-distributed-to-clouds`** (renamed from
`notified-successful-image-delivery-cloud-tidbx`)
  - Triggers `pingcap-notify-to-update-ops-tidbx` TaskRun
- **`update-tcms-when-tidbx-image-distributed-to-clouds`** (new)
  - Triggers `pingcap-notify-to-update-tcms-tidbx` TaskRun

### 2. Add image tag validation to ops trigger

The ops trigger now validates that **every** image tag matches one of:
- `vX.Y.Z` (e.g. `v7.5.1`)
- `vX.Y.Z-nextgen` (e.g. `v7.5.1-nextgen`)
- `vX.Y.Z-nextgen.YYYYMM.N` (e.g. `v7.5.1-nextgen.202601.1`)

Non-release tags (e.g. `v7.5.1-rc`, `latest`) are filtered out and will
not trigger ops updates.

### 3. Enable ops update for dev stage

The `update-ops-config` step in `pingcap-notify-to-update-ops-tidbx` now
runs for both `prod` and `dev` stages (previously only `prod`).

### 4. Update kustomization

`kustomization.yaml` updated to reference the two new trigger files and
remove the old one.

## Files changed

| File | Change |
|------|--------|
|
`tekton/v1/triggers/.../update-ops-when-tidbx-image-distributed-to-clouds.yaml`
| Renamed + tag filter + split |
|
`tekton/v1/triggers/.../update-tcms-when-tidbx-image-distributed-to-clouds.yaml`
| New (TCMS extracted from old trigger) |
| `tekton/v1/tasks/delivery/pingcap-notify-to-update-ops-tidbx.yaml` |
Enable dev stage |
| `tekton/v1/triggers/triggers/env-gcp/kustomization.yaml` | Update
references |
</comment><date>2026-06-18 05:50:45 +0000</date><id>0bb5d8ffa9d082ac3dd81829bc0f7503b4dec0ce</id><msg>refactor(tekton): split tidbx trigger and add tag filter for ops (#4700)</msg><path><editType>add</editType><file>tekton/v1/triggers/triggers/env-gcp/_/notify/update-tcms-when-tidbx-image-distributed-to-clouds.yaml</file></path><path><editType>edit</editType><file>tekton/v1/tasks/delivery/pingcap-notify-to-update-ops-tidbx.yaml</file></path><path><editType>delete</editType><file>tekton/v1/triggers/triggers/env-gcp/_/notify/notified-successful-image-delivery-cloud-tidbx.yaml</file></path><path><editType>edit</editType><file>tekton/v1/triggers/triggers/env-gcp/kustomization.yaml</file></path><path><editType>add</editType><file>tekton/v1/triggers/triggers/env-gcp/_/notify/update-ops-when-tidbx-image-distributed-to-clouds.yaml</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://do.pingcap.net/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></culprit></freeStyleBuild>