From 97262afa6d78bcf332f26a02834b43ac31f87f94 Mon Sep 17 00:00:00 2001 From: Eric Date: Tue, 5 Nov 2024 16:30:49 -0500 Subject: [PATCH] Allow specifying libcxx builder image. (#110303) This change attempts to shift the libc++ builders over to new backend infrastructure that allows running an arbitrary container for the libc++ job. This has been a long time in the making, and support from github and gke is finally at the point where it's possible (hopefully). This change should also demonstrate another important property: No Downtime Upgrades. If this goes well, we'll be able to test the upgrade as a part of the PR process, and then commiting it to main should (ideally) not break anything. --- .github/workflows/libcxx-build-and-test.yaml | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/.github/workflows/libcxx-build-and-test.yaml b/.github/workflows/libcxx-build-and-test.yaml index 657e7f1e7f0f7e..15d2957ec1ac50 100644 --- a/.github/workflows/libcxx-build-and-test.yaml +++ b/.github/workflows/libcxx-build-and-test.yaml @@ -49,7 +49,8 @@ env: jobs: stage1: if: github.repository_owner == 'llvm' - runs-on: libcxx-runners-8-set + runs-on: libcxx-runners-set + container: ghcr.io/libcxx/actions-builder:testing-2024-09-21 continue-on-error: false strategy: fail-fast: false @@ -85,7 +86,8 @@ jobs: **/crash_diagnostics/* stage2: if: github.repository_owner == 'llvm' - runs-on: libcxx-runners-8-set + runs-on: libcxx-runners-set + container: ghcr.io/libcxx/actions-builder:testing-2024-09-21 needs: [ stage1 ] continue-on-error: false strategy: @@ -162,20 +164,21 @@ jobs: 'benchmarks', 'bootstrapping-build' ] - machine: [ 'libcxx-runners-8-set' ] + machine: [ 'libcxx-runners-set' ] include: - config: 'generic-cxx26' - machine: libcxx-runners-8-set + machine: libcxx-runners-set - config: 'generic-asan' - machine: libcxx-runners-8-set + machine: libcxx-runners-set - config: 'generic-tsan' - machine: libcxx-runners-8-set + machine: libcxx-runners-set - config: 'generic-ubsan' - machine: libcxx-runners-8-set + machine: libcxx-runners-set # Use a larger machine for MSAN to avoid timeout and memory allocation issues. - config: 'generic-msan' - machine: libcxx-runners-8-set + machine: libcxx-runners-set runs-on: ${{ matrix.machine }} + container: ghcr.io/libcxx/actions-builder:testing-2024-09-21 steps: - uses: actions/checkout@v4 - name: ${{ matrix.config }}