8383 if : needs.check_source.outputs.run_tests == 'true'
8484 steps :
8585 - 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') }}
8691 - uses : actions/setup-python@v3
8792 - name : Install Dependencies
8893 run : sudo ./.github/workflows/posix-deps-apt.sh
99104 - name : Configure CPython
100105 run : |
101106 # Build Python with the libpython dynamic library
102- ./configure --with-pydebug --enable-shared
107+ ./configure --config-cache -- with-pydebug --enable-shared
103108 - name : Regenerate autoconf files with container image
104109 run : make regen-configure
105110 - name : Build CPython
@@ -180,6 +185,11 @@ jobs:
180185 PYTHONSTRICTEXTENSIONBUILD : 1
181186 steps :
182187 - 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') }}
183193 - name : Install Homebrew dependencies
184194 run :
brew install pkg-config [email protected] xz gdbm tcl-tk 185195 - name : Configure CPython
@@ -188,6 +198,7 @@ jobs:
188198 LDFLAGS="-L$(brew --prefix gdbm)/lib -I$(brew --prefix xz)/lib" \
189199 PKG_CONFIG_PATH="$(brew --prefix tcl-tk)/lib/pkgconfig" \
190200 ./configure \
201+ --config-cache \
191202 --with-pydebug \
192203 --prefix=/opt/python-dev \
193204 --with-openssl="$(brew --prefix [email protected] )" @@ -240,9 +251,18 @@ jobs:
240251 run : mkdir -p $CPYTHON_RO_SRCDIR $CPYTHON_BUILDDIR
241252 - name : Bind mount sources read-only
242253 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') }}
243259 - name : Configure CPython out-of-tree
244260 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
246266 - name : Build CPython out-of-tree
247267 working-directory : ${{ env.CPYTHON_BUILDDIR }}
248268 run : make -j4
@@ -273,6 +293,11 @@ jobs:
273293 LD_LIBRARY_PATH : ${{ github.workspace }}/multissl/openssl/${{ matrix.openssl_ver }}/lib
274294 steps :
275295 - 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') }}
276301 - name : Register gcc problem matcher
277302 run : echo "::add-matcher::.github/problem-matchers/gcc.json"
278303 - name : Install Dependencies
@@ -297,7 +322,7 @@ jobs:
297322 - name : Configure ccache action
298323 uses :
hendrikmuhs/[email protected] 299324 - name : Configure CPython
300- run : ./configure --with-pydebug --with-openssl=$OPENSSL_DIR
325+ run : ./configure --config-cache -- with-pydebug --with-openssl=$OPENSSL_DIR
301326 - name : Build CPython
302327 run : make -j4
303328 - name : Display build info
@@ -306,7 +331,7 @@ jobs:
306331 run : ./python Lib/test/ssltests.py
307332
308333 test_hypothesis :
309- name : " Hypothesis Tests on Ubuntu"
334+ name : " Hypothesis tests on Ubuntu"
310335 runs-on : ubuntu-20.04
311336 timeout-minutes : 60
312337 needs : check_source
@@ -347,9 +372,18 @@ jobs:
347372 run : mkdir -p $CPYTHON_RO_SRCDIR $CPYTHON_BUILDDIR
348373 - name : Bind mount sources read-only
349374 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') }}
350380 - name : Configure CPython out-of-tree
351381 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
353387 - name : Build CPython out-of-tree
354388 working-directory : ${{ env.CPYTHON_BUILDDIR }}
355389 run : make -j4
@@ -417,6 +451,11 @@ jobs:
417451 ASAN_OPTIONS : detect_leaks=0:allocator_may_return_null=1:handle_segv=0
418452 steps :
419453 - 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') }}
420459 - name : Register gcc problem matcher
421460 run : echo "::add-matcher::.github/problem-matchers/gcc.json"
422461 - name : Install Dependencies
@@ -445,7 +484,7 @@ jobs:
445484 - name : Configure ccache action
446485 uses :
hendrikmuhs/[email protected] 447486 - name : Configure CPython
448- run : ./configure --with-address-sanitizer --without-pymalloc
487+ run : ./configure --config-cache -- with-address-sanitizer --without-pymalloc
449488 - name : Build CPython
450489 run : make -j4
451490 - name : Display build info
0 commit comments