Skip to content

[libcxx] Bump Container Runner Version #147831

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged

Conversation

boomanaiden154
Copy link
Contributor

This patch bumps the runner version from v3.222.0 to v3.226.0 as v3.222.0 is too old at this point to connect to Github. This is needed for the new premerge system given we are directly using this container. This did not impact the existing libc++ CI as the runner was contained in a separate container image.

This patch bumps the runner version from v3.222.0 to v3.226.0 as v3.222.0 is
too old at this point to connect to Github. This is needed for the new premerge
system given we are directly using this container. This did not impact the
existing libc++ CI as the runner was contained in a separate container image.
@boomanaiden154 boomanaiden154 requested a review from a team as a code owner July 9, 2025 21:26
@llvmbot llvmbot added the libc++ libc++ C++ Standard Library. Not GNU libstdc++. Not libc++abi. label Jul 9, 2025
@llvmbot
Copy link
Member

llvmbot commented Jul 9, 2025

@llvm/pr-subscribers-libcxx

Author: Aiden Grossman (boomanaiden154)

Changes

This patch bumps the runner version from v3.222.0 to v3.226.0 as v3.222.0 is too old at this point to connect to Github. This is needed for the new premerge system given we are directly using this container. This did not impact the existing libc++ CI as the runner was contained in a separate container image.


Full diff: https://github.com/llvm/llvm-project/pull/147831.diff

1 Files Affected:

  • (modified) libcxx/utils/ci/docker-compose.yml (+1-1)
diff --git a/libcxx/utils/ci/docker-compose.yml b/libcxx/utils/ci/docker-compose.yml
index 9aa58c055cea1..2189a41555c2f 100644
--- a/libcxx/utils/ci/docker-compose.yml
+++ b/libcxx/utils/ci/docker-compose.yml
@@ -10,7 +10,7 @@ services:
       dockerfile: Dockerfile
       target: actions-builder
       args:
-        BASE_IMAGE: ghcr.io/actions/actions-runner:2.322.0
+        BASE_IMAGE: ghcr.io/actions/actions-runner:2.326.0
         <<: *compiler_versions
 
   android-buildkite-builder:

@EricWF
Copy link
Member

EricWF commented Jul 9, 2025

This did not impact the existing libc++ CI as the runner was contained in a separate container image.

FWIW, This was the main reason why we moved to using a separate container image; We weren't proactive in upgrading the runner versions, and it caused multiple CI outages.

@boomanaiden154
Copy link
Contributor Author

FWIW, This was the reason why we moved to using a separate container image; We weren't proactive in upgrading the runner versions, and it caused multiple CI outages.

Yeah, I'm realizing now why it's hard to build your CI image in such a way that it's reproducible with all the ToT compilers. What we've done for the current premerge is installed the runner version at the end rather than using the actions/runner base image. We also did this as a multi-stage build. That allows for changing the runner version without changing anything else will still using a single container.

@@ -10,7 +10,7 @@ services:
dockerfile: Dockerfile
target: actions-builder
args:
BASE_IMAGE: ghcr.io/actions/actions-runner:2.322.0
BASE_IMAGE: ghcr.io/actions/actions-runner:2.326.0
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we maybe just use "latest" here?

I don't feel too strongly one way or the other. One approach makes the container build more deterministic but the other requires less maintenance.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd prefer to keep the version pinned just for reproducibility. I'll probably change how this is wired up at some point too to make upgrading the runner version less of a pain (so that we only touch the runner and not everything else).

@boomanaiden154
Copy link
Contributor Author

I also tried an image built locally with this config and it looks like one of the stage one builds is failing with ToT clang. For now I've pushed llvm/llvm-zorg@817d047 which uses a container version based on the current one used with just the runner version upgraded produced with the following script:

FROM ghcr.io/llvm/libcxx-linux-builder:b060022103f551d8ca1dad84122ef73927c86512
RUN rm -rf ./*
ENV GITHUB_RUNNER_VERSION=2.326.0
RUN curl -O -L https://github.com/actions/runner/releases/download/v$GITHUB_RUNNER_VERSION/actions-runner-linux-x64-$GITHUB_RUNNER_VERSION.tar.gz && \
    tar xzf ./actions-runner-linux-x64-$GITHUB_RUNNER_VERSION.tar.gz && \
    rm ./actions-runner-linux-x64-$GITHUB_RUNNER_VERSION.tar.gz

This change still is needed for the next time the container gets bumped though.

@boomanaiden154 boomanaiden154 merged commit b12fcff into llvm:main Jul 9, 2025
19 of 30 checks passed
@boomanaiden154 boomanaiden154 deleted the libcxx-bump-runner-3-226-0 branch July 9, 2025 21:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
libc++ libc++ C++ Standard Library. Not GNU libstdc++. Not libc++abi.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants