@@ -34,157 +34,7 @@ concurrency:
3434 cancel-in-progress : true
3535
3636jobs :
37- stage1 :
38- if : github.repository_owner == 'llvm'
39- runs-on : libcxx-self-hosted-linux
40- container : ghcr.io/llvm/libcxx-linux-builder:b6bb9dc5abd7c6452c13a53fa8949cb259db459b
41- continue-on-error : false
42- strategy :
43- fail-fast : false
44- matrix :
45- config : [
46- ' frozen-cxx03-headers' ,
47- ' generic-cxx03' ,
48- ' generic-cxx26' ,
49- ' generic-modules'
50- ]
51- cc : [ 'clang-21' ]
52- cxx : [ 'clang++-21' ]
53- include :
54- - config : ' generic-gcc'
55- cc : ' gcc-14'
56- cxx : ' g++-14'
57- steps :
58- - uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
59- - name : ${{ matrix.config }}.${{ matrix.cxx }}
60- run : libcxx/utils/ci/run-buildbot ${{ matrix.config }}
61- env :
62- CC : ${{ matrix.cc }}
63- CXX : ${{ matrix.cxx }}
64- - uses : actions/upload-artifact@26f96dfa697d77e81fd5907df203aa23a56210a8 # v4.3.0
65- if : always()
66- with :
67- name : ${{ matrix.config }}-${{ matrix.cxx }}-results
68- path : |
69- **/test-results.xml
70- **/*.abilist
71- **/CMakeConfigureLog.yaml
72- **/CMakeError.log
73- **/CMakeOutput.log
74- **/crash_diagnostics/*
75- stage2 :
76- if : github.repository_owner == 'llvm'
77- runs-on : libcxx-self-hosted-linux
78- container : ghcr.io/llvm/libcxx-linux-builder:b6bb9dc5abd7c6452c13a53fa8949cb259db459b
79- needs : [ stage1 ]
80- continue-on-error : false
81- strategy :
82- fail-fast : false
83- matrix :
84- config : [
85- ' generic-cxx11' ,
86- ' generic-cxx14' ,
87- ' generic-cxx17' ,
88- ' generic-cxx20' ,
89- ' generic-cxx23'
90- ]
91- cc : [ 'clang-21' ]
92- cxx : [ 'clang++-21' ]
93- include :
94- - config : ' generic-gcc-cxx11'
95- cc : ' gcc-14'
96- cxx : ' g++-14'
97- - config : ' generic-cxx26'
98- cc : ' clang-20'
99- cxx : ' clang++-20'
100- - config : ' generic-cxx26'
101- cc : ' clang-19'
102- cxx : ' clang++-19'
103- steps :
104- - uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
105- - name : ${{ matrix.config }}
106- run : libcxx/utils/ci/run-buildbot ${{ matrix.config }}
107- env :
108- CC : ${{ matrix.cc }}
109- CXX : ${{ matrix.cxx }}
110- - uses : actions/upload-artifact@26f96dfa697d77e81fd5907df203aa23a56210a8 # v4.3.0
111- if : always() # Upload artifacts even if the build or test suite fails
112- with :
113- name : ${{ matrix.config }}-${{ matrix.cxx }}-results
114- path : |
115- **/test-results.xml
116- **/*.abilist
117- **/CMakeConfigureLog.yaml
118- **/CMakeError.log
119- **/CMakeOutput.log
120- **/crash_diagnostics/*
121- stage3 :
122- if : github.repository_owner == 'llvm'
123- needs : [ stage2 ]
124- continue-on-error : false
125- strategy :
126- fail-fast : false
127- max-parallel : 8
128- matrix :
129- config : [
130- ' generic-abi-unstable' ,
131- ' generic-hardening-mode-debug' ,
132- ' generic-hardening-mode-extensive' ,
133- ' generic-hardening-mode-fast' ,
134- ' generic-hardening-mode-fast-with-abi-breaks' ,
135- ' generic-merged' ,
136- ' generic-modules-cxx17-lsv' ,
137- ' generic-no-exceptions' ,
138- ' generic-no-experimental' ,
139- ' generic-no-filesystem' ,
140- ' generic-no-localization' ,
141- ' generic-no-terminal' ,
142- ' generic-no-random_device' ,
143- ' generic-no-threads' ,
144- ' generic-no-tzdb' ,
145- ' generic-no-unicode' ,
146- ' generic-no-wide-characters' ,
147- ' generic-no-rtti' ,
148- ' generic-optimized-speed' ,
149- ' generic-static' ,
150- ' bootstrapping-build'
151- ]
152- machine : [ 'libcxx-self-hosted-linux' ]
153- include :
154- - config : ' generic-cxx26'
155- machine : libcxx-self-hosted-linux
156- - config : ' generic-asan'
157- machine : libcxx-self-hosted-linux
158- - config : ' generic-tsan'
159- machine : libcxx-self-hosted-linux
160- - config : ' generic-ubsan'
161- machine : libcxx-self-hosted-linux
162- # Use a larger machine for MSAN to avoid timeout and memory allocation issues.
163- - config : ' generic-msan'
164- machine : libcxx-self-hosted-linux
165- runs-on : ${{ matrix.machine }}
166- container : ghcr.io/llvm/libcxx-linux-builder:b6bb9dc5abd7c6452c13a53fa8949cb259db459b
167- steps :
168- - uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
169- - name : ${{ matrix.config }}
170- run : libcxx/utils/ci/run-buildbot ${{ matrix.config }}
171- env :
172- CC : clang-21
173- CXX : clang++-21
174- - uses : actions/upload-artifact@26f96dfa697d77e81fd5907df203aa23a56210a8 # v4.3.0
175- if : always()
176- with :
177- name : ${{ matrix.config }}-results
178- path : |
179- **/test-results.xml
180- **/*.abilist
181- **/CMakeConfigureLog.yaml
182- **/CMakeError.log
183- **/CMakeOutput.log
184- **/crash_diagnostics/*
185-
18637 macos :
187- needs : [ stage3 ]
18838 strategy :
18939 fail-fast : false
19040 matrix :
@@ -236,52 +86,3 @@ jobs:
23686 **/CMakeOutput.log
23787 **/crash_diagnostics/*
23888
239- windows :
240- runs-on : windows-2022
241- needs : [ stage2 ]
242- strategy :
243- fail-fast : false
244- matrix :
245- include :
246- - { config: clang-cl-dll, mingw: false }
247- - { config: clang-cl-static, mingw: false }
248- - { config: clang-cl-no-vcruntime, mingw: false }
249- - { config: clang-cl-debug, mingw: false }
250- - { config: clang-cl-static-crt, mingw: false }
251- - { config: mingw-dll, mingw: true }
252- - { config: mingw-static, mingw: true }
253- - { config: mingw-dll-i686, mingw: true }
254- - { config: mingw-incomplete-sysroot, mingw: true }
255- steps :
256- - uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
257- - name : Install dependencies
258- run : |
259- choco install -y ninja
260- pip install psutil
261- - name : Install a current LLVM
262- if : ${{ matrix.mingw != true }}
263- run : |
264- choco install -y llvm --version=19.1.7 --allow-downgrade
265- - name : Install llvm-mingw
266- if : ${{ matrix.mingw == true }}
267- run : |
268- curl -LO https://github.com/mstorsjo/llvm-mingw/releases/download/20250114/llvm-mingw-20250114-ucrt-x86_64.zip
269- powershell Expand-Archive llvm-mingw*.zip -DestinationPath .
270- del llvm-mingw*.zip
271- mv llvm-mingw* c:\llvm-mingw
272- echo "c:\llvm-mingw\bin" | Out-File -FilePath $Env:GITHUB_PATH -Encoding utf8 -Append
273- - name : Simulate a from-scratch build of llvm-mingw
274- if : ${{ matrix.config == 'mingw-incomplete-sysroot' }}
275- run : |
276- rm -r c:\llvm-mingw\include\c++
277- rm -r c:\llvm-mingw\*-w64-mingw32\lib\libc++*
278- rm -r c:\llvm-mingw\*-w64-mingw32\lib\libunwind*
279- - name : Add Git Bash to the path
280- run : |
281- echo "c:\Program Files\Git\usr\bin" | Out-File -FilePath $Env:GITHUB_PATH -Encoding utf8 -Append
282- - name : Set up the MSVC dev environment
283- if : ${{ matrix.mingw != true }}
284- uses : ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0
285- - name : Build and test
286- run : |
287- bash libcxx/utils/ci/run-buildbot ${{ matrix.config }}
0 commit comments