<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>19922</buildableDurationMillis><buildableTimeMillis>19922</buildableTimeMillis><buildingDurationMillis>139923</buildingDurationMillis><executingTimeMillis>139923</executingTimeMillis><executorUtilization>1.0</executorUtilization><subTaskCount>0</subTaskCount><waitingDurationMillis>7963</waitingDurationMillis><waitingTimeMillis>7963</waitingTimeMillis></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><originmain _class='hudson.plugins.git.util.Build'><buildNumber>1822</buildNumber><marked><SHA1>e42afb959a2dead59f0a04a490e5c85f1fb3a1a2</SHA1><branch><SHA1>e42afb959a2dead59f0a04a490e5c85f1fb3a1a2</SHA1><name>origin/main</name></branch></marked><revision><SHA1>e42afb959a2dead59f0a04a490e5c85f1fb3a1a2</SHA1><branch><SHA1>e42afb959a2dead59f0a04a490e5c85f1fb3a1a2</SHA1><name>origin/main</name></branch></revision></originmain></buildsByBranchName><lastBuiltRevision><SHA1>e42afb959a2dead59f0a04a490e5c85f1fb3a1a2</SHA1><branch><SHA1>e42afb959a2dead59f0a04a490e5c85f1fb3a1a2</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>#1822</displayName><duration>139923</duration><estimatedDuration>42534</estimatedDuration><fullDisplayName>seed #1822</fullDisplayName><id>1822</id><inProgress>false</inProgress><keepLog>false</keepLog><number>1822</number><queueId>3694416</queueId><result>SUCCESS</result><timestamp>1782468793238</timestamp><url>https://do.pingcap.net/jenkins/job/seed/1822/</url><builtOn>default-sx91h</builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>tekton/v1/triggers/templates/_/build-component-single-platform.yaml</affectedPath><affectedPath>tekton/v1/triggers/triggers/env-prod2/_/fake-github/fake-github-branch-push-single-platform.yaml</affectedPath><affectedPath>tekton/v1/triggers/templates/_/build-component-darwin.yaml</affectedPath><affectedPath>tekton/v1/triggers/triggers/env-prod2/_/fake-github/fake-github-pr.yaml</affectedPath><affectedPath>tekton/v1/triggers/templates/_/build-component-all-platforms.yaml</affectedPath><affectedPath>tekton/v1/triggers/triggers/env-gcp/_/fake-github/fake-github-pr.yaml</affectedPath><affectedPath>tekton/v1/triggers/bindings/ksy-dev-build-params.yaml</affectedPath><affectedPath>tekton/v1/triggers/triggers/env-prod2/_/fake-github/fake-github-branch-push.yaml</affectedPath><affectedPath>tekton/v1/triggers/triggers/env-prod2/_/fake-github/fake-github-pr-single-platform.yaml</affectedPath><affectedPath>tekton/v1/triggers/triggers/env-prod2/_/fake-github/fake-github-tag-create.yaml</affectedPath><affectedPath>tekton/v1/triggers/triggers/env-gcp/_/fake-github/fake-github-tag-create.yaml</affectedPath><affectedPath>tekton/v1/triggers/triggers/env-gcp/_/fake-github/fake-github-tag-create-single-platform.yaml</affectedPath><affectedPath>tekton/v1/triggers/triggers/env-gcp/_/fake-github/fake-github-branch-push-single-platform.yaml</affectedPath><affectedPath>tekton/v1/triggers/triggers/env-prod2/_/fake-github/fake-github-tag-create-single-platform.yaml</affectedPath><affectedPath>tekton/v1/tasks/pingcap-git-clone.yaml</affectedPath><affectedPath>tekton/v1/triggers/templates/_/build-component-linux.yaml</affectedPath><affectedPath>tekton/v1/triggers/bindings/gcp-dev-build-params.yaml</affectedPath><affectedPath>tekton/v1/pipelines/pingcap-build-package-linux.yaml</affectedPath><affectedPath>tekton/v1/pipelines/pingcap-build-package-darwin.yaml</affectedPath><affectedPath>tekton/v1/triggers/triggers/env-gcp/_/fake-github/fake-github-pr-single-platform.yaml</affectedPath><affectedPath>tekton/v1/triggers/triggers/env-gcp/_/fake-github/fake-github-branch-push.yaml</affectedPath><commitId>e42afb959a2dead59f0a04a490e5c85f1fb3a1a2</commitId><timestamp>1782468760000</timestamp><author><absoluteUrl>https://do.pingcap.net/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></author><authorEmail>noreply@github.com</authorEmail><comment>feat(tekton): add pluginGitRef plumbing for devbuilds (FLA-225 PR2) (#4752)

## Summary

Add the full Tekton plumbing for `pluginGitRef` so that devbuilds can
specify a custom enterprise-plugin ref that bypasses the
`resolve-external` algorithm.

**Data flow**: CloudEvent `ce-paramPluginGitRef` → CEL overlay (strip
`branch/`/`tag/` prefix) → TriggerBinding → TriggerTemplate → Pipeline →
Task (`plugin-git-ref` param).

When `plugin-git-ref` is non-empty, the `resolve-external` step skips
the entire resolution algorithm and uses the value directly. This is
correct because `pluginGitRef` is a user-specified enterprise-plugin
ref, not a main repo ref.

## Changes

**Task** (`pingcap-git-clone.yaml`):
- Added `plugin-git-ref` param (default `""`)
- Modified `resolve-external` step: when `plugin-git-ref` is non-empty,
write it directly to `/workspace/pingcap-external-revision` and exit
(skip resolution algorithm)

**Pipelines** (2 files):
- Added `pluginGitRef` pipeline param (default `""`) to
`pingcap-build-package-linux` and `pingcap-build-package-darwin`
- Wired to task `plugin-git-ref` param in checkout task

**Templates** (4 files):
- Added `pluginGitRef` template param (default `""`) to
`build-component-all-platforms`, `build-component-linux`,
`build-component-darwin`, `build-component-single-platform`
- Wired to PipelineRun pipeline params

**Bindings** (2 files):
- Added `pluginGitRef` binding to `gcp-dev-build-params` and
`ksy-dev-build-params` from `$(extensions.custom-params.plugin-git-ref)`

**Triggers** (12 files):
- Added CEL overlay `plugin-git-ref` to `custom-params` in all 12
fake-github triggers (env-gcp + env-prod2)
- Expression:
`header.canonical('ce-paramPluginGitRef').replace('^(branch|tag)/', ')`

## Testing

- Verified YAML validity of all 21 modified files
- Verified data flow consistency: CE header → CEL → binding → template →
pipeline → task param
- Verified backward compatibility: all new params default to `""`, so
existing behavior is unchanged
- CI checks on this PR

## Risk

Low. All changes are additive with empty-string defaults. When
`pluginGitRef` is not set, the existing `resolve-external` algorithm
runs unchanged. Rollback: remove new params from
task/pipeline/template/binding.

Refs: FLA-225 PR2 | Depends on: PingCAP-QE/ee-apps#531 (PR1, merged)

---------

Signed-off-by: wuhuizuo &lt;wuhuizuo@126.com&gt;
</comment><date>2026-06-26 10:12:40 +0000</date><id>e42afb959a2dead59f0a04a490e5c85f1fb3a1a2</id><msg>feat(tekton): add pluginGitRef plumbing for devbuilds (FLA-225 PR2)</msg><path><editType>edit</editType><file>tekton/v1/triggers/triggers/env-gcp/_/fake-github/fake-github-pr.yaml</file></path><path><editType>edit</editType><file>tekton/v1/triggers/templates/_/build-component-darwin.yaml</file></path><path><editType>edit</editType><file>tekton/v1/pipelines/pingcap-build-package-linux.yaml</file></path><path><editType>edit</editType><file>tekton/v1/triggers/triggers/env-prod2/_/fake-github/fake-github-tag-create.yaml</file></path><path><editType>edit</editType><file>tekton/v1/triggers/bindings/gcp-dev-build-params.yaml</file></path><path><editType>edit</editType><file>tekton/v1/tasks/pingcap-git-clone.yaml</file></path><path><editType>edit</editType><file>tekton/v1/triggers/triggers/env-gcp/_/fake-github/fake-github-pr-single-platform.yaml</file></path><path><editType>edit</editType><file>tekton/v1/triggers/triggers/env-gcp/_/fake-github/fake-github-tag-create.yaml</file></path><path><editType>edit</editType><file>tekton/v1/triggers/templates/_/build-component-linux.yaml</file></path><path><editType>edit</editType><file>tekton/v1/triggers/triggers/env-gcp/_/fake-github/fake-github-branch-push.yaml</file></path><path><editType>edit</editType><file>tekton/v1/triggers/bindings/ksy-dev-build-params.yaml</file></path><path><editType>edit</editType><file>tekton/v1/triggers/triggers/env-prod2/_/fake-github/fake-github-pr.yaml</file></path><path><editType>edit</editType><file>tekton/v1/triggers/templates/_/build-component-all-platforms.yaml</file></path><path><editType>edit</editType><file>tekton/v1/triggers/templates/_/build-component-single-platform.yaml</file></path><path><editType>edit</editType><file>tekton/v1/triggers/triggers/env-prod2/_/fake-github/fake-github-branch-push.yaml</file></path><path><editType>edit</editType><file>tekton/v1/triggers/triggers/env-prod2/_/fake-github/fake-github-pr-single-platform.yaml</file></path><path><editType>edit</editType><file>tekton/v1/triggers/triggers/env-gcp/_/fake-github/fake-github-tag-create-single-platform.yaml</file></path><path><editType>edit</editType><file>tekton/v1/triggers/triggers/env-prod2/_/fake-github/fake-github-tag-create-single-platform.yaml</file></path><path><editType>edit</editType><file>tekton/v1/triggers/triggers/env-prod2/_/fake-github/fake-github-branch-push-single-platform.yaml</file></path><path><editType>edit</editType><file>tekton/v1/pipelines/pingcap-build-package-darwin.yaml</file></path><path><editType>edit</editType><file>tekton/v1/triggers/triggers/env-gcp/_/fake-github/fake-github-branch-push-single-platform.yaml</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://do.pingcap.net/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></culprit></freeStyleBuild>