<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>19391</buildableDurationMillis><buildableTimeMillis>19391</buildableTimeMillis><buildingDurationMillis>82582</buildingDurationMillis><executingTimeMillis>82582</executingTimeMillis><executorUtilization>1.0</executorUtilization><queuingDurationMillis>25798</queuingDurationMillis><queuingTimeMillis>25798</queuingTimeMillis><subTaskCount>0</subTaskCount><totalDurationMillis>108380</totalDurationMillis><waitingDurationMillis>6405</waitingDurationMillis><waitingTimeMillis>6405</waitingTimeMillis></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><originmain _class='hudson.plugins.git.util.Build'><buildNumber>1612</buildNumber><marked><SHA1>0767f140adb2bd7c8ef74dd1007aef091f4df1a9</SHA1><branch><SHA1>0767f140adb2bd7c8ef74dd1007aef091f4df1a9</SHA1><name>origin/main</name></branch></marked><revision><SHA1>0767f140adb2bd7c8ef74dd1007aef091f4df1a9</SHA1><branch><SHA1>0767f140adb2bd7c8ef74dd1007aef091f4df1a9</SHA1><name>origin/main</name></branch></revision></originmain></buildsByBranchName><lastBuiltRevision><SHA1>0767f140adb2bd7c8ef74dd1007aef091f4df1a9</SHA1><branch><SHA1>0767f140adb2bd7c8ef74dd1007aef091f4df1a9</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'><artifactsUrl>https://do.pingcap.net/jenkins/blue/organizations/jenkins/seed/detail/seed/1612/artifacts</artifactsUrl><changesUrl>https://do.pingcap.net/jenkins/blue/organizations/jenkins/seed/detail/seed/1612/changes</changesUrl><displayUrl>https://do.pingcap.net/jenkins/blue/organizations/jenkins/seed/detail/seed/1612/</displayUrl><testsUrl>https://do.pingcap.net/jenkins/blue/organizations/jenkins/seed/detail/seed/1612/tests</testsUrl></action><building>false</building><displayName>#1612</displayName><duration>82582</duration><estimatedDuration>55797</estimatedDuration><fullDisplayName>seed #1612</fullDisplayName><id>1612</id><inProgress>false</inProgress><keepLog>false</keepLog><number>1612</number><queueId>3665241</queueId><result>SUCCESS</result><timestamp>1776078846810</timestamp><url>https://do.pingcap.net/jenkins/job/seed/1612/</url><builtOn>default-ln7h2</builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>pipelines/pingcap/tidb/release-8.5/pod-pull_build.yaml</affectedPath><commitId>0767f140adb2bd7c8ef74dd1007aef091f4df1a9</commitId><timestamp>1776078816000</timestamp><author><absoluteUrl>https://do.pingcap.net/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></author><authorEmail>noreply@github.com</authorEmail><comment>refactor(pipelines/pingcap/tidb): use ephemeral PVC workspace volume for release-8.5 pull_build (#4509)

## Summary
- override the Jenkins kubernetes default workspace volume for
`pingcap/tidb/release-8.5/pull_build`
- keep the pod definition in YAML instead of configuring
`workspaceVolume` in the pipeline DSL
- define `spec.volumes[].name=workspace-volume` as an ephemeral
`volumeClaimTemplate`
- keep this PR scoped to a single high-IO migrated GCP job for phase-1
validation

## Why
Migrated Jenkins jobs on GCP currently rely on the kubernetes plugin
default workspace volume when `workspaceVolume` is not set explicitly.
For large build jobs, that means the workspace lives on node-local
ephemeral storage and can be constrained by small-space nodes.

For declarative Jenkins pipelines in this repo, keeping pod
configuration in the pod YAML is the better maintenance model. This PR
therefore validates the rollout pattern by overriding `workspace-volume`
directly in the pod template YAML for one representative job first.

## Validation
- validated `pipelines/pingcap/tidb/release-8.5/pull_build.groovy` via
`.ci/verify-jenkins-pipeline-file.sh`
- parsed `pipelines/pingcap/tidb/release-8.5/pod-pull_build.yaml`
locally and verified `workspace-volume` resolves to an ephemeral PVC
with `storageClassName=hyperdisk-rwo` and `storage=150Gi`
- verified the pod YAML still survives the same annotation-style
round-trip that `pod_label.withCiLabels(...)` performs
</comment><date>2026-04-13 11:13:36 +0000</date><id>0767f140adb2bd7c8ef74dd1007aef091f4df1a9</id><msg>refactor(pipelines/pingcap/tidb): use ephemeral PVC workspace volume for</msg><path><editType>edit</editType><file>pipelines/pingcap/tidb/release-8.5/pod-pull_build.yaml</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://do.pingcap.net/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName><id>noreply</id></culprit></freeStyleBuild>