You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Part 1 of moving ExecuTorch's Linux CI to
[OSDC](https://github.com/pytorch/test-infra/blob/main/docs/osdc_runners.md).
The `linux_job_v2` -> `v3` migration follows in #22245 onward; #22108
covers the native jobs.
OSDC pods have no docker daemon, so the builds move to the in-cluster
BuildKit pool: `build.sh` switches to `docker buildx build --push` under
`REMOTE_BUILDKIT`, driven by test-infra's `docker-build-remote-buildkit`
action. The tag is computed in the workflow now, but it is the same
string `calculate-docker-image` produced, so jobs still on v2 keep
resolving. That action only retries failures from before BuildKit
starts, so the three retries `calculate-docker-image` wrapped the build
in are kept around the SDK downloads.
sccache resolved its S3 credentials from EC2 instance metadata, which a
BuildKit pod has none of, so every compiler invocation died on a
metadata timeout. They now reach the build as a BuildKit secret, and
`install_pytorch.sh` caches locally when it is absent. Dropping the S3
backend would have been the smaller change, but the PyTorch build layer
takes ~19 minutes only because sccache serves nearly all of it, and
uncached it would not fit the job timeout.
`pull_request` gives way to `ciflow/docker`, since a fork PR gets no
OIDC token and could never push. The tag is registered in
`pytorch-probot.yml` and auto-applied on the paths that need a rebuild,
so such a PR still rebuilds its images without anyone having to remember
— the same rule pytorch has.
Last commit adds `_docker-image.yml`, the consumer-side counterpart: it
emits `git rev-parse HEAD:.ci/docker` for the v3 jobs to name their
image with. Nothing calls it yet.
All 16 images build and push green on OSDC in [run
32799247406](https://github.com/pytorch/executorch/actions/runs/32799247406):
16–48 min each against 37–56 on EC2, arm64 included.
Authored with Claude Code.
0 commit comments