21
21
CI_FAILFAST_TEST_LEAVE_DANGLING : 1 # GHA does not care about dangling processes and setting this variable avoids killing the CI script itself on error
22
22
MAKEJOBS : ' -j10'
23
23
24
+ defaults :
25
+ run :
26
+ # Enforce fail-fast behavior for all platforms.
27
+ # See: https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#exit-codes-and-error-action-preference
28
+ shell : bash
29
+
24
30
jobs :
25
31
test-each-commit :
26
32
name : ' test each commit'
@@ -185,19 +191,20 @@ jobs:
185
191
arch : x64
186
192
187
193
- name : Get tool information
194
+ shell : pwsh
188
195
run : |
189
196
cmake -version | Tee-Object -FilePath "cmake_version"
190
197
Write-Output "---"
191
198
msbuild -version | Tee-Object -FilePath "msbuild_version"
192
199
$env:VCToolsVersion | Tee-Object -FilePath "toolset_version"
193
200
py -3 --version
194
201
Write-Host "PowerShell version $($PSVersionTable.PSVersion.ToString())"
202
+ bash --version
195
203
196
204
- name : Using vcpkg with MSBuild
197
205
run : |
198
- Set-Location "$env:VCPKG_INSTALLATION_ROOT"
199
- Add-Content -Path "triplets\x64-windows.cmake" -Value "set(VCPKG_BUILD_TYPE release)"
200
- Add-Content -Path "triplets\x64-windows-static.cmake" -Value "set(VCPKG_BUILD_TYPE release)"
206
+ echo "set(VCPKG_BUILD_TYPE release)" >> "${VCPKG_INSTALLATION_ROOT}\triplets\x64-windows.cmake"
207
+ echo "set(VCPKG_BUILD_TYPE release)" >> "${VCPKG_INSTALLATION_ROOT}\triplets\x64-windows-static.cmake"
201
208
202
209
- name : vcpkg tools cache
203
210
uses : actions/cache@v4
@@ -214,7 +221,7 @@ jobs:
214
221
215
222
- name : Generate build system
216
223
run : |
217
- cmake -B build --preset vs2022-static -DCMAKE_TOOLCHAIN_FILE="$env: VCPKG_INSTALLATION_ROOT\scripts\buildsystems\vcpkg.cmake" ${{ matrix.generate-options }}
224
+ cmake -B build --preset vs2022-static -DCMAKE_TOOLCHAIN_FILE="${ VCPKG_INSTALLATION_ROOT} \scripts\buildsystems\vcpkg.cmake" ${{ matrix.generate-options }}
218
225
219
226
- name : Save vcpkg binary cache
220
227
uses : actions/cache/save@v4
@@ -226,13 +233,13 @@ jobs:
226
233
- name : Build
227
234
working-directory : build
228
235
run : |
229
- cmake --build . -j $env: NUMBER_OF_PROCESSORS --config Release
236
+ cmake --build . -j $NUMBER_OF_PROCESSORS --config Release
230
237
231
238
- name : Run test suite
232
239
if : matrix.job-type == 'standard'
233
240
working-directory : build
234
241
run : |
235
- ctest --output-on-failure --stop-on-failure -j $env: NUMBER_OF_PROCESSORS -C Release
242
+ ctest --output-on-failure --stop-on-failure -j $NUMBER_OF_PROCESSORS -C Release
236
243
237
244
- name : Run functional tests
238
245
if : matrix.job-type == 'standard'
@@ -243,25 +250,23 @@ jobs:
243
250
BITCOINUTIL : ' ${{ github.workspace }}\build\bin\Release\bitcoin-util.exe'
244
251
BITCOINWALLET : ' ${{ github.workspace }}\build\bin\Release\bitcoin-wallet.exe'
245
252
TEST_RUNNER_EXTRA : ${{ github.event_name != 'pull_request' && '--extended' || '' }}
246
- shell : cmd
247
- run : py -3 test\functional\test_runner.py --jobs %NUMBER_OF_PROCESSORS% --ci --quiet --tmpdirprefix=%RUNNER_TEMP% --combinedlogslen=99999999 --timeout-factor=%TEST_RUNNER_TIMEOUT_FACTOR% %TEST_RUNNER_EXTRA%
253
+ run : py -3 test\functional\test_runner.py --jobs $NUMBER_OF_PROCESSORS --ci --quiet --tmpdirprefix="${RUNNER_TEMP}" --combinedlogslen=99999999 --timeout-factor=${TEST_RUNNER_TIMEOUT_FACTOR} ${TEST_RUNNER_EXTRA}
248
254
249
255
- name : Clone corpora
250
256
if : matrix.job-type == 'fuzz'
251
257
run : |
252
- git clone --depth=1 https://github.com/bitcoin-core/qa-assets "$env: RUNNER_TEMP\qa-assets"
253
- Set-Location "$env: RUNNER_TEMP\qa-assets"
254
- Write-Host "Using qa-assets repo from commit ..."
258
+ git clone --depth=1 https://github.com/bitcoin-core/qa-assets "${ RUNNER_TEMP} \qa-assets"
259
+ cd "${ RUNNER_TEMP} \qa-assets"
260
+ echo "Using qa-assets repo from commit ..."
255
261
git log -1
256
262
257
263
- name : Run fuzz tests
258
264
if : matrix.job-type == 'fuzz'
259
265
working-directory : build
260
266
env :
261
267
BITCOINFUZZ : ' ${{ github.workspace }}\build\bin\Release\fuzz.exe'
262
- shell : cmd
263
268
run : |
264
- py -3 test\fuzz\test_runner.py --par % NUMBER_OF_PROCESSORS% --loglevel DEBUG % RUNNER_TEMP% \qa-assets\fuzz_corpora
269
+ py -3 test\fuzz\test_runner.py --par $ NUMBER_OF_PROCESSORS --loglevel DEBUG "${ RUNNER_TEMP} \qa-assets\fuzz_corpora"
265
270
266
271
asan-lsan-ubsan-integer-no-depends-usdt :
267
272
name : ' ASan + LSan + UBSan + integer, no depends, USDT'
0 commit comments