-
Notifications
You must be signed in to change notification settings - Fork 14k
[libc++] Add Docker images to support incoming pre-merge CI transition #144597
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
base: main
Are you sure you want to change the base?
Conversation
As described in [1], we are transitioning to the LLVM-wide pre-merge CI infrastructure. As part of this change, we need a way to specify which Docker image to use from the sources, and we can't do that from the workflow files directly due to a Kubernetes bug. Instead, the runner groups are going to pick up the Docker image specified in this json file as it appears on the `main` branch of the official LLVM Github repository. [1]: https://discourse.llvm.org/t/rfc-migrating-libc-premerge-testing-to-new-llvm-premerge-testing-infrastructure
@llvm/pr-subscribers-github-workflow Author: Louis Dionne (ldionne) ChangesAs described in 1, we are transitioning to the LLVM-wide pre-merge CI infrastructure. As part of this change, we need a way to specify which Docker image to use from the sources, and we can't do that from the workflow files directly due to a Kubernetes bug. Instead, the runner groups are going to pick up the Docker image specified in this json file as it appears on the Full diff: https://github.com/llvm/llvm-project/pull/144597.diff 1 Files Affected:
diff --git a/.github/workflows/libcxx-docker-images.yml b/.github/workflows/libcxx-docker-images.yml
new file mode 100644
index 0000000000000..9366d825ba415
--- /dev/null
+++ b/.github/workflows/libcxx-docker-images.yml
@@ -0,0 +1,12 @@
+# This file defines the Docker images used by various self-hosted runner groups used
+# in the libc++ pre-merge testing pipeline.
+#
+# The images are specified this way instead of being in the workflow file due to a
+# Kubernetes bug, as described in https://discourse.llvm.org/t/rfc-migrating-libc-premerge-testing-to-new-llvm-premerge-testing-infrastructure.
+#
+# When updating this file, the self-hosted runner sets are going to pick up the
+# specified image after a short delay. The Docker images used are always the
+# ones on the 'main' branch of the official LLVM GitHub repository.
+libcxx-runner-set-current: ghcr.io/llvm/libcxx-linux-builder:b060022103f551d8ca1dad84122ef73927c86512
+libcxx-runner-set-next: none
+libcxx-runner-set-release: ghcr.io/llvm/libcxx-linux-builder:d8a0709b1090350a7fe3604d8ab78c7d62f10698
|
@llvm/pr-subscribers-libcxx Author: Louis Dionne (ldionne) ChangesAs described in 1, we are transitioning to the LLVM-wide pre-merge CI infrastructure. As part of this change, we need a way to specify which Docker image to use from the sources, and we can't do that from the workflow files directly due to a Kubernetes bug. Instead, the runner groups are going to pick up the Docker image specified in this json file as it appears on the Full diff: https://github.com/llvm/llvm-project/pull/144597.diff 1 Files Affected:
diff --git a/.github/workflows/libcxx-docker-images.yml b/.github/workflows/libcxx-docker-images.yml
new file mode 100644
index 0000000000000..9366d825ba415
--- /dev/null
+++ b/.github/workflows/libcxx-docker-images.yml
@@ -0,0 +1,12 @@
+# This file defines the Docker images used by various self-hosted runner groups used
+# in the libc++ pre-merge testing pipeline.
+#
+# The images are specified this way instead of being in the workflow file due to a
+# Kubernetes bug, as described in https://discourse.llvm.org/t/rfc-migrating-libc-premerge-testing-to-new-llvm-premerge-testing-infrastructure.
+#
+# When updating this file, the self-hosted runner sets are going to pick up the
+# specified image after a short delay. The Docker images used are always the
+# ones on the 'main' branch of the official LLVM GitHub repository.
+libcxx-runner-set-current: ghcr.io/llvm/libcxx-linux-builder:b060022103f551d8ca1dad84122ef73927c86512
+libcxx-runner-set-next: none
+libcxx-runner-set-release: ghcr.io/llvm/libcxx-linux-builder:d8a0709b1090350a7fe3604d8ab78c7d62f10698
|
@cmtice Once this is checked in, individual Docker images can be obtained with:
If you would rather use JSON instead, that's also OK but the benefit of yaml is that we can have comments in the file. |
@ldionne I think we need this file in the llvm-zorg repository (where we configure the premerge runners): https://github.com/llvm/llvm-zorg/tree/main/premerge . Do you have access to that repo? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This seems like a duplicate of what we have to put in the runner values YAML file that we have to have in llvm-zorg/premerge?
eg https://github.com/llvm/llvm-zorg/blob/main/premerge/linux_runners_values.yaml
Ah, interesting, I wasn't aware of that file. Do you think there is any way that we'd store these inside the monorepo? It's a huge simplification for contributors when everything is accessible from the monorepo -- historically this has been a pain point when we were still using buildbot and some of our configuration lived in |
As described in 1, we are transitioning to the LLVM-wide pre-merge CI infrastructure. As part of this change, we need a way to specify which Docker image to use from the sources, and we can't do that from the workflow files directly due to a Kubernetes bug. Instead, the runner groups are going to pick up the Docker image specified in this json file as it appears on the
main
branch of the official LLVM Github repository.