From 947e12d072cda8a9965c86d77281b6ee111aca0c Mon Sep 17 00:00:00 2001 From: Eric Fiselier Date: Fri, 25 Oct 2024 10:04:51 -0400 Subject: [PATCH] Allow Specifying the builder image. 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 184fed2268e818..3521b5d5a3def4 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 @@ -84,7 +85,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: @@ -160,20 +162,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 }}