<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>22371</buildableDurationMillis><buildableTimeMillis>22371</buildableTimeMillis><buildingDurationMillis>45915</buildingDurationMillis><executingTimeMillis>45915</executingTimeMillis><executorUtilization>1.0</executorUtilization><subTaskCount>0</subTaskCount><waitingDurationMillis>7786</waitingDurationMillis><waitingTimeMillis>7786</waitingTimeMillis></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><originmain _class='hudson.plugins.git.util.Build'><buildNumber>1452</buildNumber><marked><SHA1>9a6fb230003a411446861bbace8cdf4524ecb9a6</SHA1><branch><SHA1>9a6fb230003a411446861bbace8cdf4524ecb9a6</SHA1><name>origin/main</name></branch></marked><revision><SHA1>9a6fb230003a411446861bbace8cdf4524ecb9a6</SHA1><branch><SHA1>9a6fb230003a411446861bbace8cdf4524ecb9a6</SHA1><name>origin/main</name></branch></revision></originmain></buildsByBranchName><lastBuiltRevision><SHA1>9a6fb230003a411446861bbace8cdf4524ecb9a6</SHA1><branch><SHA1>9a6fb230003a411446861bbace8cdf4524ecb9a6</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>#1452</displayName><duration>45915</duration><estimatedDuration>50732</estimatedDuration><fullDisplayName>seed #1452</fullDisplayName><id>1452</id><inProgress>false</inProgress><keepLog>false</keepLog><number>1452</number><queueId>3349504</queueId><result>SUCCESS</result><timestamp>1772454727457</timestamp><url>https://do.pingcap.net/jenkins/job/seed/1452/</url><builtOn>default-stqp0</builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>pipelines/tikv/copr-test/latest/pull_integration_test.groovy</affectedPath><affectedPath>.ci/replay-jenkins-build.sh</affectedPath><affectedPath>pipelines/tikv/copr-test/latest/pod-pull_integration_test.yaml</affectedPath><commitId>9a6fb230003a411446861bbace8cdf4524ecb9a6</commitId><timestamp>1772454692000</timestamp><author><absoluteUrl>https://do.pingcap.net/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></author><authorEmail>noreply@github.com</authorEmail><comment>fileserver: migrate tikv/copr-test artifacts to OCI registry (#4275)

`tikv/copr-test` pipeline was fetching `tikv-server` and `pd-server`
binaries from `fileserver.pingcap.net` via the legacy
`component.fetchAndExtractArtifact` helper. This migrates to OCI
artifacts on `hub-zot.pingcap.net/mirrors/hub`, consistent with the
pattern already used in
`tikv/pd/latest/pull_integration_copr_test.groovy`.

### Changes

- **`pod-pull_integration_test.yaml`** — add `utils` container
(`ghcr.io/pingcap-qe/cd/utils/release`) providing `oras`/`yq` for OCI
pulls
- **`pull_integration_test.groovy`**
- Replace `FILE_SERVER_URL` env var with `OCI_ARTIFACT_HOST =
'hub-zot.pingcap.net/mirrors/hub'`
- Compute OCI tags from PR metadata via
`component.computeArtifactOciTagFromPR()`
- Replace `component.fetchAndExtractArtifact(FILE_SERVER_URL, ...)` with
`download_pingcap_oci_artifact.sh` running in the `utils` container

```groovy
final OCI_TAG_TIKV = component.computeArtifactOciTagFromPR('tikv', REFS.base_ref, REFS.pulls[0].title, 'master')
final OCI_TAG_PD   = component.computeArtifactOciTagFromPR('pd',   REFS.base_ref, REFS.pulls[0].title, 'master')

// in Prepare stage, utils container:
${WORKSPACE}/scripts/artifacts/download_pingcap_oci_artifact.sh \
    --tikv=${OCI_TAG_TIKV} \
    --pd=${OCI_TAG_PD}
```

&lt;!-- START COPILOT ORIGINAL PROMPT --&gt;



&lt;details&gt;

&lt;summary&gt;Original prompt&lt;/summary&gt;

&gt; 
&gt; ----
&gt; 
&gt; *This section details on the original issue you should resolve*
&gt; 
&gt; &lt;issue_title&gt;fileserver: migrate artifacts for
tikv/copr-test&lt;/issue_title&gt;
&gt; &lt;issue_description&gt;Replace fileserver.pingcap.net usage for
tikv/copr-test with OCI artifacts in a standard registry.
&gt; 
&gt; Acceptance criteria:
&gt; - No fileserver.pingcap.net references in jobs/pipelines for
tikv/copr-test
&gt; - Artifacts pulled via OCI registry with documented paths
&gt; &lt;/issue_description&gt;
&gt; 
&gt; ## Comments on the Issue (you are @copilot in this section)
&gt; 
&gt; &lt;comments&gt;
&gt; &lt;/comments&gt;
&gt; 


&lt;/details&gt;



&lt;!-- START COPILOT CODING AGENT SUFFIX --&gt;

- Fixes PingCAP-QE/ci#4214

&lt;!-- START COPILOT CODING AGENT TIPS --&gt;
---

✨ Let Copilot coding agent [set things up for
you](https://github.com/PingCAP-QE/ci/issues/new?title=✨+Set+up+Copilot+instructions&amp;body=Configure%20instructions%20for%20this%20repository%20as%20documented%20in%20%5BBest%20practices%20for%20Copilot%20coding%20agent%20in%20your%20repository%5D%28https://gh.io/copilot-coding-agent-tips%29%2E%0A%0A%3COnboard%20this%20repo%3E&amp;assignees=copilot)
— coding agent works faster and does higher quality work when set up for
your repo.

---------

Co-authored-by: copilot-swe-agent[bot] &lt;198982749+Copilot@users.noreply.github.com&gt;
Co-authored-by: wuhuizuo &lt;2574558+wuhuizuo@users.noreply.github.com&gt;
Co-authored-by: wuhuizuo &lt;wuhuizuo@126.com&gt;
</comment><date>2026-03-02 12:31:32 +0000</date><id>9a6fb230003a411446861bbace8cdf4524ecb9a6</id><msg>fileserver: migrate tikv/copr-test artifacts to OCI registry (#4275)</msg><path><editType>edit</editType><file>pipelines/tikv/copr-test/latest/pull_integration_test.groovy</file></path><path><editType>edit</editType><file>.ci/replay-jenkins-build.sh</file></path><path><editType>edit</editType><file>pipelines/tikv/copr-test/latest/pod-pull_integration_test.yaml</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://do.pingcap.net/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></culprit></freeStyleBuild>