[libcxx-commits] [libcxx] [llvm] [libc++][WIP] Move to Github hosted builders (PR #109720)

Louis Dionne via libcxx-commits libcxx-commits at lists.llvm.org
Mon Sep 23 14:40:15 PDT 2024


https://github.com/ldionne updated https://github.com/llvm/llvm-project/pull/109720

>From 22b80131356cfc4252f9dc8bb4eeb15e85af921a Mon Sep 17 00:00:00 2001
From: Louis Dionne <ldionne.2 at gmail.com>
Date: Mon, 23 Sep 2024 17:23:35 -0400
Subject: [PATCH 1/3] [libc++][WIP] Move to Github hosted builders

Libc++ experiences periodic outages of our Github actions builders,
which are quite disruptive. Unfortunately, the Github self-hosted
runner setup is very opaque. It works extremely well when it works,
but most contributors are unable to troubleshoot issues related to
the setup when they happen.

This patch attempts to move the libc++ builders to normal Github
hosted runners. This is primarily to evaluate the feasibility of
such a change, which would simplify our CI setup but may not scale
sufficiently for our needs.
---
 .github/workflows/libcxx-build-and-test.yaml | 32 ++++++++++----------
 1 file changed, 16 insertions(+), 16 deletions(-)

diff --git a/.github/workflows/libcxx-build-and-test.yaml b/.github/workflows/libcxx-build-and-test.yaml
index b5e60781e00064..bdf4c1b74fdbaa 100644
--- a/.github/workflows/libcxx-build-and-test.yaml
+++ b/.github/workflows/libcxx-build-and-test.yaml
@@ -49,7 +49,13 @@ env:
 jobs:
   stage1:
     if: github.repository_owner == 'llvm'
-    runs-on: libcxx-runners-8-set
+    runs: &docker-image
+      using: 'docker'
+      image: 'libcxx/utils/ci/Dockerfile'
+      args:
+        - BASE_IMAGE: ghcr.io/actions/actions-runner:2.317.0
+        - GCC_LATEST_VERSION: 14
+        - LLVM_HEAD_VERSION: 20
     continue-on-error: false
     strategy:
       fail-fast: false
@@ -84,7 +90,8 @@ jobs:
             **/crash_diagnostics/*
   stage2:
     if: github.repository_owner == 'llvm'
-    runs-on: libcxx-runners-8-set
+    runs:
+      <<: *docker-image
     needs: [ stage1 ]
     continue-on-error: false
     strategy:
@@ -136,12 +143,15 @@ jobs:
       matrix:
         config: [
           'generic-abi-unstable',
+          'generic-asan',
+          'generic-cxx26',
           'generic-hardening-mode-debug',
           'generic-hardening-mode-extensive',
           'generic-hardening-mode-fast',
           'generic-hardening-mode-fast-with-abi-breaks',
           'generic-merged',
           'generic-modules-lsv',
+          'generic-msan',
           'generic-no-exceptions',
           'generic-no-experimental',
           'generic-no-filesystem',
@@ -155,25 +165,15 @@ jobs:
           'generic-no-rtti',
           'generic-optimized-speed',
           'generic-static',
+          'generic-tsan',
+          'generic-ubsan',
           # TODO Find a better place for the benchmark and bootstrapping builds to live. They're either very expensive
           # or don't provide much value since the benchmark run results are too noise on the bots.
           'benchmarks',
           'bootstrapping-build'
         ]
-        machine: [ 'libcxx-runners-8-set' ]
-        include:
-        - config: 'generic-cxx26'
-          machine: libcxx-runners-8-set
-        - config: 'generic-asan'
-          machine: libcxx-runners-8-set
-        - config: 'generic-tsan'
-          machine: libcxx-runners-8-set
-        - config: 'generic-ubsan'
-          machine: libcxx-runners-8-set
-        # Use a larger machine for MSAN to avoid timeout and memory allocation issues.
-        - config: 'generic-msan'
-          machine: libcxx-runners-8-set
-    runs-on: ${{ matrix.machine }}
+    runs:
+      <<: *docker-image
     steps:
       - uses: actions/checkout at v4
       - name: ${{ matrix.config }}

>From 2fdbb387fd0109cd3d9b223c1e5b88b3f3b75e9b Mon Sep 17 00:00:00 2001
From: Louis Dionne <ldionne.2 at gmail.com>
Date: Mon, 23 Sep 2024 17:36:33 -0400
Subject: [PATCH 2/3] Touch libc++ file to trigger CI

---
 libcxx/foo | 0
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 libcxx/foo

diff --git a/libcxx/foo b/libcxx/foo
new file mode 100644
index 00000000000000..e69de29bb2d1d6

>From 1353fa89430f93b91d911df31b27dac21c6df48a Mon Sep 17 00:00:00 2001
From: Louis Dionne <ldionne.2 at gmail.com>
Date: Mon, 23 Sep 2024 17:39:05 -0400
Subject: [PATCH 3/3] WIP: Try on ubuntu-latest

---
 .github/workflows/libcxx-build-and-test.yaml | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/.github/workflows/libcxx-build-and-test.yaml b/.github/workflows/libcxx-build-and-test.yaml
index bdf4c1b74fdbaa..c4ab7a70c712fa 100644
--- a/.github/workflows/libcxx-build-and-test.yaml
+++ b/.github/workflows/libcxx-build-and-test.yaml
@@ -49,13 +49,14 @@ env:
 jobs:
   stage1:
     if: github.repository_owner == 'llvm'
-    runs: &docker-image
-      using: 'docker'
-      image: 'libcxx/utils/ci/Dockerfile'
-      args:
-        - BASE_IMAGE: ghcr.io/actions/actions-runner:2.317.0
-        - GCC_LATEST_VERSION: 14
-        - LLVM_HEAD_VERSION: 20
+    runs-on: ubuntu-latest
+    # runs: &docker-image
+    #   using: 'docker'
+    #   image: 'libcxx/utils/ci/Dockerfile'
+    #   args:
+    #     - BASE_IMAGE: ghcr.io/actions/actions-runner:2.317.0
+    #     - GCC_LATEST_VERSION: 14
+    #     - LLVM_HEAD_VERSION: 20
     continue-on-error: false
     strategy:
       fail-fast: false



More information about the libcxx-commits mailing list