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 : " Hypothesis Tests on Ubuntu"
334
+ name : " Hypothesis tests 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
0 commit comments