@@ -47,188 +47,36 @@ env:
4747
4848
4949jobs :
50- stage1 :
51- if : github.repository_owner == 'llvm'
52- runs-on : libcxx-runners-8-set
53- continue-on-error : false
50+ macos :
51+ runs-on : macos-14
5452 strategy :
5553 fail-fast : false
5654 matrix :
5755 config : [
58- ' generic-cxx03' ,
59- ' generic-cxx26' ,
60- ' generic-modules'
56+ generic-cxx03,
57+ generic-cxx23,
58+ generic-modules,
59+ apple-configuration
6160 ]
62- cc : [ 'clang-19' ]
63- cxx : [ 'clang++-19' ]
64- include :
65- - config : ' generic-gcc'
66- cc : ' gcc-14'
67- cxx : ' g++-14'
6861 steps :
6962 - uses : actions/checkout@v4
70- - name : ${{ matrix.config }}.${{ matrix.cxx }}
71- run : libcxx/utils/ci/run-buildbot ${{ matrix.config }}
72- env :
73- CC : ${{ matrix.cc }}
74- CXX : ${{ matrix.cxx }}
75- - uses : actions/upload-artifact@26f96dfa697d77e81fd5907df203aa23a56210a8 # v4.3.0
76- if : always()
63+ - uses : maxim-lobanov/setup-xcode@v1
7764 with :
78- name : ${{ matrix.config }}-${{ matrix.cxx }}-results
79- path : |
80- **/test-results.xml
81- **/*.abilist
82- **/CMakeError.log
83- **/CMakeOutput.log
84- **/crash_diagnostics/*
85- stage2 :
86- if : github.repository_owner == 'llvm'
87- runs-on : libcxx-runners-8-set
88- needs : [ stage1 ]
89- continue-on-error : false
90- strategy :
91- fail-fast : false
92- matrix :
93- config : [
94- ' generic-cxx11' ,
95- ' generic-cxx14' ,
96- ' generic-cxx17' ,
97- ' generic-cxx20' ,
98- ' generic-cxx23'
99- ]
100- cc : [ 'clang-19' ]
101- cxx : [ 'clang++-19' ]
102- include :
103- - config : ' generic-gcc-cxx11'
104- cc : ' gcc-14'
105- cxx : ' g++-14'
106- - config : ' generic-cxx23'
107- cc : ' clang-17'
108- cxx : ' clang++-17'
109- - config : ' generic-cxx26'
110- cc : ' clang-18'
111- cxx : ' clang++-18'
112- steps :
113- - uses : actions/checkout@v4
114- - name : ${{ matrix.config }}
115- run : libcxx/utils/ci/run-buildbot ${{ matrix.config }}
116- env :
117- CC : ${{ matrix.cc }}
118- CXX : ${{ matrix.cxx }}
65+ xcode-version : ' latest-stable'
66+ - uses : seanmiddleditch/gha-setup-ninja@master
67+ - name : Build and test
68+ run : |
69+ python3 -m venv .venv
70+ source .venv/bin/activate
71+ python3 -m pip install psutil
72+ bash libcxx/utils/ci/run-buildbot ${{ matrix.config }}
11973 - uses : actions/upload-artifact@26f96dfa697d77e81fd5907df203aa23a56210a8 # v4.3.0
12074 if : always() # Upload artifacts even if the build or test suite fails
12175 with :
122- name : ${{ matrix.config }}-${{ matrix.cxx }}-results
123- path : |
124- **/test-results.xml
125- **/*.abilist
126- **/CMakeError.log
127- **/CMakeOutput.log
128- **/crash_diagnostics/*
129- stage3 :
130- if : github.repository_owner == 'llvm'
131- needs : [ stage1, stage2 ]
132- continue-on-error : false
133- strategy :
134- fail-fast : false
135- max-parallel : 8
136- matrix :
137- config : [
138- ' generic-abi-unstable' ,
139- ' generic-hardening-mode-debug' ,
140- ' generic-hardening-mode-extensive' ,
141- ' generic-hardening-mode-fast' ,
142- ' generic-hardening-mode-fast-with-abi-breaks' ,
143- ' generic-merged' ,
144- ' generic-modules-lsv' ,
145- ' generic-no-exceptions' ,
146- ' generic-no-experimental' ,
147- ' generic-no-filesystem' ,
148- ' generic-no-localization' ,
149- ' generic-no-random_device' ,
150- ' generic-no-threads' ,
151- ' generic-no-tzdb' ,
152- ' generic-no-unicode' ,
153- ' generic-no-wide-characters' ,
154- ' generic-no-rtti' ,
155- ' generic-optimized-speed' ,
156- ' generic-static' ,
157- # TODO Find a better place for the benchmark and bootstrapping builds to live. They're either very expensive
158- # or don't provide much value since the benchmark run results are too noise on the bots.
159- ' benchmarks' ,
160- ' bootstrapping-build'
161- ]
162- machine : [ 'libcxx-runners-8-set' ]
163- include :
164- - config : ' generic-cxx26'
165- machine : libcxx-runners-8-set
166- - config : ' generic-asan'
167- machine : libcxx-runners-8-set
168- - config : ' generic-tsan'
169- machine : libcxx-runners-8-set
170- - config : ' generic-ubsan'
171- machine : libcxx-runners-8-set
172- # Use a larger machine for MSAN to avoid timeout and memory allocation issues.
173- - config : ' generic-msan'
174- machine : libcxx-runners-8-set
175- runs-on : ${{ matrix.machine }}
176- steps :
177- - uses : actions/checkout@v4
178- - name : ${{ matrix.config }}
179- run : libcxx/utils/ci/run-buildbot ${{ matrix.config }}
180- env :
181- CC : clang-19
182- CXX : clang++-19
183- - uses : actions/upload-artifact@26f96dfa697d77e81fd5907df203aa23a56210a8 # v4.3.0
184- if : always()
185- with :
186- name : ${{ matrix.config }}-results
76+ name : macos-${{ matrix.config }}-results
18777 path : |
18878 **/test-results.xml
18979 **/*.abilist
19080 **/CMakeError.log
19181 **/CMakeOutput.log
19282 **/crash_diagnostics/*
193- windows :
194- runs-on : windows-2022
195- needs : [ stage1 ]
196- strategy :
197- fail-fast : false
198- matrix :
199- include :
200- - { config: clang-cl-dll, mingw: false }
201- - { config: clang-cl-static, mingw: false }
202- - { config: clang-cl-no-vcruntime, mingw: false }
203- - { config: clang-cl-debug, mingw: false }
204- - { config: clang-cl-static-crt, mingw: false }
205- - { config: mingw-dll, mingw: true }
206- - { config: mingw-static, mingw: true }
207- - { config: mingw-dll-i686, mingw: true }
208- steps :
209- - uses : actions/checkout@v4
210- - name : Install dependencies
211- run : |
212- choco install -y ninja
213- pip install psutil
214- - name : Install a current LLVM
215- if : ${{ matrix.mingw != true }}
216- run : |
217- choco install -y llvm --version=18.1.6 --allow-downgrade
218- - name : Install llvm-mingw
219- if : ${{ matrix.mingw == true }}
220- run : |
221- curl -LO https://github.com/mstorsjo/llvm-mingw/releases/download/20240606/llvm-mingw-20240606-ucrt-x86_64.zip
222- powershell Expand-Archive llvm-mingw*.zip -DestinationPath .
223- del llvm-mingw*.zip
224- mv llvm-mingw* c:\llvm-mingw
225- echo "c:\llvm-mingw\bin" | Out-File -FilePath $Env:GITHUB_PATH -Encoding utf8 -Append
226- - name : Add Git Bash to the path
227- run : |
228- echo "c:\Program Files\Git\usr\bin" | Out-File -FilePath $Env:GITHUB_PATH -Encoding utf8 -Append
229- - name : Set up the MSVC dev environment
230- if : ${{ matrix.mingw != true }}
231- uses : ilammy/msvc-dev-cmd@v1
232- - name : Build and test
233- run : |
234- bash libcxx/utils/ci/run-buildbot ${{ matrix.config }}
0 commit comments