Split system-test docker image creation to work in both protected and unprotected environments - #9094
Split system-test docker image creation to work in both protected and unprotected environments#9094andrewlock wants to merge 3 commits into
Conversation
BenchmarksBenchmark execution time: 2026-08-24 17:02:55 Comparing candidate commit 9e37b3b in PR branch Found 0 performance improvements and 1 performance regressions! Performance is the same for 71 metrics, 0 unstable metrics, 66 known flaky benchmarks, 60 flaky benchmarks without significant changes.
|
03e1eae to
9e37b3b
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 9e37b3b9ab
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| permissions: | ||
| contents: read | ||
| packages: write # pushing to ghcr.io |
There was a problem hiding this comment.
Run the publishing job only from trusted code
When an internal PR has the docker_image_artifacts label, Azure dispatches this workflow at the PR source ref, so the job checks out and executes that branch's composite action, tracer/build.sh, and Dockerfile while its token has packages: write and is passed to docker login. A PR author can modify any of those files to leak the write-capable token or publish/overwrite arbitrary GHCR images as soon as the label is applied. Dispatch and execute a trusted ref (for example, master) and treat the PR build artifacts only as input before granting package-write access.
Useful? React with 👍 / 👎.
Summary of changes
Update system-test docker image creation to work both on master and on PRs
Reason for change
#8865 moves our secrets into protected environments, which means they can no longer be accessed from PRs. Unfortunately, the docker-image artifact creation can be enabled on PRs by adding the
docker_image_artifactslabel, so that PR breaks that workflow. This PR re-enables it, with the caveat that it is subject to stricter rate limits (which shouldn't be an issue in practice, given this is rarely used, and the only workflow that needs this approach)Implementation details
Test coverage
This is the test 🤞As this depends on new workflows, I don't think we can test it till after it's merged, so :yolo:
Other details