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.
This commit is contained in:
Eric 2024-11-05 16:30:49 -05:00 committed by GitHub
parent b8ac87f34a
commit 97262afa6d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -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 }}