83
83
if :needs.check_source.outputs.run_tests == 'true'
84
84
steps :
85
85
-uses :actions/checkout@v3
86
+ -name :Restore config.cache
87
+ uses :actions/cache@v3
88
+ with :
89
+ path :config.cache
90
+ key :${{ github.job }}-${{ runner.os }}-${{ hashFiles('configure', 'configure.ac', '.github/workflows/build.yml') }}
86
91
-uses :actions/setup-python@v3
87
92
-name :Install Dependencies
88
93
run :sudo ./.github/workflows/posix-deps-apt.sh
99
104
-name :Configure CPython
100
105
run :|
101
106
# Build Python with the libpython dynamic library
102
- ./configure --with-pydebug --enable-shared
107
+ ./configure --config-cache -- with-pydebug --enable-shared
103
108
-name :Regenerate autoconf files with container image
104
109
run :make regen-configure
105
110
-name :Build CPython
@@ -180,6 +185,11 @@ jobs:
180
185
PYTHONSTRICTEXTENSIONBUILD :1
181
186
steps :
182
187
-uses :actions/checkout@v3
188
+ -name :Restore config.cache
189
+ uses :actions/cache@v3
190
+ with :
191
+ path :config.cache
192
+ key :${{ github.job }}-${{ runner.os }}-${{ hashFiles('configure', 'configure.ac', '.github/workflows/build.yml') }}
183
193
-name :Install Homebrew dependencies
184
194
run :brew install pkg-config openssl@1.1 xz gdbm tcl-tk
185
195
-name :Configure CPython
@@ -188,6 +198,7 @@ jobs:
188
198
LDFLAGS="-L$(brew --prefix gdbm)/lib -I$(brew --prefix xz)/lib" \
189
199
PKG_CONFIG_PATH="$(brew --prefix tcl-tk)/lib/pkgconfig" \
190
200
./configure \
201
+ --config-cache \
191
202
--with-pydebug \
192
203
--prefix=/opt/python-dev \
193
204
--with-openssl="$(brew --prefix openssl@1.1)"
@@ -240,9 +251,18 @@ jobs:
240
251
run :mkdir -p $CPYTHON_RO_SRCDIR $CPYTHON_BUILDDIR
241
252
-name :Bind mount sources read-only
242
253
run :sudo mount --bind -o ro $GITHUB_WORKSPACE $CPYTHON_RO_SRCDIR
254
+ -name :Restore config.cache
255
+ uses :actions/cache@v3
256
+ with :
257
+ path :${{ env.CPYTHON_BUILDDIR }}/config.cache
258
+ key :${{ github.job }}-${{ runner.os }}-${{ hashFiles('configure', 'configure.ac', '.github/workflows/build.yml') }}
243
259
-name :Configure CPython out-of-tree
244
260
working-directory :${{ env.CPYTHON_BUILDDIR }}
245
- run :../cpython-ro-srcdir/configure --with-pydebug --with-openssl=$OPENSSL_DIR
261
+ run :|
262
+ ../cpython-ro-srcdir/configure \
263
+ --config-cache \
264
+ --with-pydebug \
265
+ --with-openssl=$OPENSSL_DIR
246
266
-name :Build CPython out-of-tree
247
267
working-directory :${{ env.CPYTHON_BUILDDIR }}
248
268
run :make -j4
@@ -273,6 +293,11 @@ jobs:
273
293
LD_LIBRARY_PATH :${{ github.workspace }}/multissl/openssl/${{ matrix.openssl_ver }}/lib
274
294
steps :
275
295
-uses :actions/checkout@v3
296
+ -name :Restore config.cache
297
+ uses :actions/cache@v3
298
+ with :
299
+ path :config.cache
300
+ key :${{ github.job }}-${{ runner.os }}-${{ hashFiles('configure', 'configure.ac', '.github/workflows/build.yml') }}
276
301
-name :Register gcc problem matcher
277
302
run :echo "::add-matcher::.github/problem-matchers/gcc.json"
278
303
-name :Install Dependencies
@@ -297,7 +322,7 @@ jobs:
297
322
-name :Configure ccache action
298
323
uses :hendrikmuhs/ccache-action@v1.2
299
324
-name :Configure CPython
300
- run :./configure --with-pydebug --with-openssl=$OPENSSL_DIR
325
+ run :./configure --config-cache -- with-pydebug --with-openssl=$OPENSSL_DIR
301
326
-name :Build CPython
302
327
run :make -j4
303
328
-name :Display build info
@@ -306,7 +331,7 @@ jobs:
306
331
run :./python Lib/test/ssltests.py
307
332
308
333
test_hypothesis :
309
- name :" HypothesisTests on Ubuntu"
334
+ name :" Hypothesistests on Ubuntu"
310
335
runs-on :ubuntu-20.04
311
336
timeout-minutes :60
312
337
needs :check_source
@@ -347,9 +372,18 @@ jobs:
347
372
run :mkdir -p $CPYTHON_RO_SRCDIR $CPYTHON_BUILDDIR
348
373
-name :Bind mount sources read-only
349
374
run :sudo mount --bind -o ro $GITHUB_WORKSPACE $CPYTHON_RO_SRCDIR
375
+ -name :Restore config.cache
376
+ uses :actions/cache@v3
377
+ with :
378
+ path :${{ env.CPYTHON_BUILDDIR }}/config.cache
379
+ key :${{ github.job }}-${{ runner.os }}-${{ hashFiles('configure', 'configure.ac', '.github/workflows/build.yml') }}
350
380
-name :Configure CPython out-of-tree
351
381
working-directory :${{ env.CPYTHON_BUILDDIR }}
352
- run :../cpython-ro-srcdir/configure --with-pydebug --with-openssl=$OPENSSL_DIR
382
+ run :|
383
+ ../cpython-ro-srcdir/configure \
384
+ --config-cache \
385
+ --with-pydebug \
386
+ --with-openssl=$OPENSSL_DIR
353
387
-name :Build CPython out-of-tree
354
388
working-directory :${{ env.CPYTHON_BUILDDIR }}
355
389
run :make -j4
@@ -417,6 +451,11 @@ jobs:
417
451
ASAN_OPTIONS :detect_leaks=0:allocator_may_return_null=1:handle_segv=0
418
452
steps :
419
453
-uses :actions/checkout@v3
454
+ -name :Restore config.cache
455
+ uses :actions/cache@v3
456
+ with :
457
+ path :config.cache
458
+ key :${{ github.job }}-${{ runner.os }}-${{ hashFiles('configure', 'configure.ac', '.github/workflows/build.yml') }}
420
459
-name :Register gcc problem matcher
421
460
run :echo "::add-matcher::.github/problem-matchers/gcc.json"
422
461
-name :Install Dependencies
@@ -445,7 +484,7 @@ jobs:
445
484
-name :Configure ccache action
446
485
uses :hendrikmuhs/ccache-action@v1.2
447
486
-name :Configure CPython
448
- run :./configure --with-address-sanitizer --without-pymalloc
487
+ run :./configure --config-cache -- with-address-sanitizer --without-pymalloc
449
488
-name :Build CPython
450
489
run :make -j4
451
490
-name :Display build info