1
1
name : Tests
2
2
3
- # gh-84728: "paths-ignore" is not used to skip documentation-only PRs, because
4
- # it prevents to mark a job as mandatory. A PR cannot be merged if a job is
5
- # mandatory but not scheduled because of "paths-ignore".
6
3
on :
7
4
workflow_dispatch :
8
5
push :
@@ -21,6 +18,9 @@ concurrency:
21
18
group : ${{ github.workflow }}-${{ github.head_ref || github.run_id }}-reusable
22
19
cancel-in-progress : true
23
20
21
+ env :
22
+ FORCE_COLOR : 1
23
+
24
24
jobs :
25
25
check_source :
26
26
name : ' Check for source changes'
@@ -87,11 +87,13 @@ jobs:
87
87
88
88
check_abi :
89
89
name : ' Check if the ABI has changed'
90
- runs-on : ubuntu-20 .04
90
+ runs-on : ubuntu-22 .04 # 24.04 causes spurious errors
91
91
needs : check_source
92
92
if : needs.check_source.outputs.run_tests == 'true'
93
93
steps :
94
94
- uses : actions/checkout@v4
95
+ with :
96
+ persist-credentials : false
95
97
- uses : actions/setup-python@v5
96
98
- name : Install dependencies
97
99
run : |
@@ -130,12 +132,16 @@ jobs:
130
132
131
133
check_generated_files :
132
134
name : ' Check if generated files are up to date'
133
- runs-on : ubuntu-latest
135
+ # Don't use ubuntu-latest but a specific version to make the job
136
+ # reproducible: to get the same tools versions (autoconf, aclocal, ...)
137
+ runs-on : ubuntu-24.04
134
138
timeout-minutes : 60
135
139
needs : check_source
136
140
if : needs.check_source.outputs.run_tests == 'true'
137
141
steps :
138
142
- uses : actions/checkout@v4
143
+ with :
144
+ persist-credentials : false
139
145
- uses : actions/setup-python@v5
140
146
with :
141
147
python-version : ' 3.x'
@@ -229,7 +235,7 @@ jobs:
229
235
strategy :
230
236
fail-fast : false
231
237
matrix :
232
- os : [ubuntu-20 .04]
238
+ os : [ubuntu-24 .04]
233
239
openssl_ver : [1.1.1w, 3.0.15, 3.1.7, 3.2.3]
234
240
env :
235
241
OPENSSL_VER : ${{ matrix.openssl_ver }}
@@ -238,6 +244,8 @@ jobs:
238
244
LD_LIBRARY_PATH : ${{ github.workspace }}/multissl/openssl/${{ matrix.openssl_ver }}/lib
239
245
steps :
240
246
- uses : actions/checkout@v4
247
+ with :
248
+ persist-credentials : false
241
249
- name : Runner image version
242
250
run : echo "IMAGE_OS_VERSION=${ImageOS}-${ImageVersion}" >> "$GITHUB_ENV"
243
251
- name : Restore config.cache
@@ -251,9 +259,9 @@ jobs:
251
259
run : sudo ./.github/workflows/posix-deps-apt.sh
252
260
- name : Configure OpenSSL env vars
253
261
run : |
254
- echo "MULTISSL_DIR=${GITHUB_WORKSPACE}/multissl" >> $GITHUB_ENV
255
- echo "OPENSSL_DIR=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}" >> $GITHUB_ENV
256
- echo "LD_LIBRARY_PATH=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}/lib" >> $GITHUB_ENV
262
+ echo "MULTISSL_DIR=${GITHUB_WORKSPACE}/multissl" >> " $GITHUB_ENV"
263
+ echo "OPENSSL_DIR=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}" >> " $GITHUB_ENV"
264
+ echo "LD_LIBRARY_PATH=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}/lib" >> " $GITHUB_ENV"
257
265
- name : ' Restore OpenSSL build'
258
266
id : cache-openssl
259
267
uses : actions/cache@v4
@@ -262,10 +270,10 @@ jobs:
262
270
key : ${{ matrix.os }}-multissl-openssl-${{ env.OPENSSL_VER }}
263
271
- name : Install OpenSSL
264
272
if : steps.cache-openssl.outputs.cache-hit != 'true'
265
- run : python3 Tools/ssl/multissltests.py --steps=library --base-directory $MULTISSL_DIR --openssl $OPENSSL_VER --system Linux
273
+ run : python3 Tools/ssl/multissltests.py --steps=library --base-directory " $MULTISSL_DIR" --openssl " $OPENSSL_VER" --system Linux
266
274
- name : Add ccache to PATH
267
275
run : |
268
- echo "PATH=/usr/lib/ccache:$PATH" >> $GITHUB_ENV
276
+ echo "PATH=/usr/lib/ccache:$PATH" >> " $GITHUB_ENV"
269
277
- name : Configure ccache action
270
278
uses :
hendrikmuhs/[email protected]
271
279
with :
@@ -281,7 +289,7 @@ jobs:
281
289
282
290
build_asan :
283
291
name : ' Address sanitizer'
284
- runs-on : ubuntu-20 .04
292
+ runs-on : ubuntu-22 .04
285
293
timeout-minutes : 60
286
294
needs : check_source
287
295
if : needs.check_source.outputs.run_tests == 'true'
@@ -291,6 +299,8 @@ jobs:
291
299
ASAN_OPTIONS : detect_leaks=0:allocator_may_return_null=1:handle_segv=0
292
300
steps :
293
301
- uses : actions/checkout@v4
302
+ with :
303
+ persist-credentials : false
294
304
- name : Runner image version
295
305
run : echo "IMAGE_OS_VERSION=${ImageOS}-${ImageVersion}" >> "$GITHUB_ENV"
296
306
- name : Restore config.cache
0 commit comments