@@ -85,22 +85,28 @@ jobs:
8585 matrix :
8686 os : [ubuntu-latest, macos-latest, windows-latest]
8787 php : ["8.0", "8.1", "8.2", "8.3", "8.4"]
88- rust : [stable]
88+ rust : [stable, nightly ]
8989 clang : ["15", "17"]
9090 phpts : [ts, nts]
91- include :
92- - os : ubuntu-latest
93- rust : nightly
94- clang : " 15"
95- phpts : nts
96- php : " 8.4"
9791 exclude :
9892 - os : macos-latest
9993 clang : " 17"
10094 - os : ubuntu-latest
10195 clang : " 15"
96+ - os : macos-latest
97+ rust : nightly
98+ - os : ubuntu-latest
99+ rust : nightly
100+ - os : windows-latest
101+ clang : " 15"
102102 - os : windows-latest
103+ rust : stable
104+ include :
105+ - os : ubuntu-latest
106+ rust : nightly
103107 clang : " 15"
108+ phpts : nts
109+ php : " 8.4"
104110 env :
105111 CARGO_TERM_COLOR : always
106112 steps :
@@ -118,40 +124,6 @@ jobs:
118124 with :
119125 toolchain : ${{ matrix.rust }}
120126 components : rustfmt, clippy
121- - run : rustup show
122- - name : Cache cargo dependencies
123- uses : Swatinem/rust-cache@v2
124- # Uncomment the following if statement if caching nightly deps
125- # ends up causing too much cache invalidation.
126- # if: matrix.rust == 'stable'
127- with :
128- # increment this manually to force cache eviction
129- prefix-key : ${{ env.RUST_CACHE_PREFIX }}
130- # LLVM & Clang
131- - name : Cache LLVM and Clang
132- id : cache-llvm
133- uses : actions/cache@v4
134- # Macos build doesn't work with clang < 18. As a build for version 18 is not available, we skip the setup
135- if : " !contains(matrix.os, 'windows') && !contains(matrix.os, 'macos')"
136- with :
137- path : ${{ runner.temp }}/llvm-${{ matrix.clang }}
138- key : ${{ matrix.os }}-llvm-${{ matrix.clang }}
139- - name : Setup LLVM & Clang
140- id : clang
141- uses : KyleMayes/install-llvm-action@v2
142- # Macos build doesn't work with clang < 18. As a build for version 18 is not available, we skip the setup
143- if : " !contains(matrix.os, 'windows') && !contains(matrix.os, 'macos')"
144- with :
145- version : ${{ matrix.clang }}
146- directory : ${{ runner.temp }}/llvm-${{ matrix.clang }}
147- cached : ${{ steps.cache-llvm.outputs.cache-hit }}
148- - name : Configure Clang
149- # Macos build doesn't work with clang < 18. As a build for version 18 is not available, we skip the setup
150- if : " !contains(matrix.os, 'windows') && !contains(matrix.os, 'macos')"
151- run : |
152- echo "LIBCLANG_PATH=${{ runner.temp }}/llvm-${{ matrix.clang }}/lib" >> $GITHUB_ENV
153- echo "LLVM_VERSION=${{ steps.clang.outputs.version }}" >> $GITHUB_ENV
154- echo "LLVM_CONFIG_PATH=${{ runner.temp }}/llvm-${{ matrix.clang }}/bin/llvm-config" >> $GITHUB_ENV
155127 - name : Install cargo-hack
156128 uses : taiki-e/install-action@v2
157129 with :
@@ -196,39 +168,6 @@ jobs:
196168 toolchain : stable
197169 components : rustfmt, clippy
198170 - run : rustup show
199- - name : Cache cargo dependencies
200- uses : Swatinem/rust-cache@v2
201- # Uncomment the following if statement if caching nightly deps
202- # ends up causing too much cache invalidation.
203- # if: matrix.rust == 'stable'
204- with :
205- # increment this manually to force cache eviction
206- prefix-key : ${{ env.RUST_CACHE_PREFIX }}
207- # LLVM & Clang
208- - name : Cache LLVM and Clang
209- id : cache-llvm
210- uses : actions/cache@v4
211- # Macos build doesn't work with clang < 18. As a build for version 18 is not available, we skip the setup
212- if : " !contains(matrix.os, 'windows') && !contains(matrix.os, 'macos')"
213- with :
214- path : ${{ runner.temp }}/llvm-${{ matrix.clang }}
215- key : ${{ matrix.os }}-llvm-${{ matrix.clang }}
216- - name : Setup LLVM & Clang
217- id : clang
218- uses : KyleMayes/install-llvm-action@v2
219- # Macos build doesn't work with clang < 18. As a build for version 18 is not available, we skip the setup
220- if : " !contains(matrix.os, 'windows') && !contains(matrix.os, 'macos')"
221- with :
222- version : ${{ matrix.clang }}
223- directory : ${{ runner.temp }}/llvm-${{ matrix.clang }}
224- cached : ${{ steps.cache-llvm.outputs.cache-hit }}
225- - name : Configure Clang
226- # Macos build doesn't work with clang < 18. As a build for version 18 is not available, we skip the setup
227- if : " !contains(matrix.os, 'windows') && !contains(matrix.os, 'macos')"
228- run : |
229- echo "LIBCLANG_PATH=${{ runner.temp }}/llvm-${{ matrix.clang }}/lib" >> $GITHUB_ENV
230- echo "LLVM_VERSION=${{ steps.clang.outputs.version }}" >> $GITHUB_ENV
231- echo "LLVM_CONFIG_PATH=${{ runner.temp }}/llvm-${{ matrix.clang }}/bin/llvm-config" >> $GITHUB_ENV
232171 - name : Install cargo-hack
233172 uses : taiki-e/install-action@v2
234173 with :
@@ -260,7 +199,6 @@ jobs:
260199 with :
261200 toolchain : ${{ matrix.rust }}
262201 components : rustfmt, clippy
263- - run : rustup show
264202 - name : Install cargo-hack
265203 uses : taiki-e/install-action@v2
266204 with :
0 commit comments