https://github.com/python/cpython/commit/2e01a7124ab0d5dd83c0a99cd5259c83ed1cc912
commit: 2e01a7124ab0d5dd83c0a99cd5259c83ed1cc912
branch: 3.11
author: Hugo van Kemenade <[email protected]>
committer: hugovk <[email protected]>
date: 2025-02-18T14:16:23+02:00
summary:
[3.11] CI: Use ImageOS (ubuntu24) instead of runner.os (Linux) in cache keys
(GH-130200) (#130252)
files:
M .github/workflows/build.yml
M .github/workflows/reusable-macos.yml
M .github/workflows/reusable-ubuntu.yml
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index fd809714fa951a..315bd372458db4 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -8,17 +8,11 @@ on:
push:
branches:
- 'main'
- - '3.11'
- - '3.10'
- - '3.9'
- - '3.8'
+ - '3.*'
pull_request:
branches:
- 'main'
- - '3.11'
- - '3.10'
- - '3.9'
- - '3.8'
+ - '3.*'
permissions:
contents: read
@@ -146,16 +140,17 @@ jobs:
with:
python-version: '3.x'
- name: Runner image version
- run: echo "IMAGE_VERSION=${ImageVersion}" >> $GITHUB_ENV
+ run: echo "IMAGE_OS_VERSION=${ImageOS}-${ImageVersion}" >>
"$GITHUB_ENV"
- name: Restore config.cache
uses: actions/cache@v4
with:
path: config.cache
- key: ${{ github.job }}-${{ runner.os }}-${{ env.IMAGE_VERSION }}-${{
needs.check_source.outputs.config_hash }}-${{ env.pythonLocation }}
- - name: Install Dependencies
+ # Include env.pythonLocation in key to avoid changes in environment
when setup-python updates Python
+ key: ${{ github.job }}-${{ env.IMAGE_OS_VERSION }}-${{
needs.check_source.outputs.config_hash }}-${{ env.pythonLocation }}
+ - name: Install dependencies
run: sudo ./.github/workflows/posix-deps-apt.sh
- name: Add ccache to PATH
- run: echo "PATH=/usr/lib/ccache:$PATH" >> $GITHUB_ENV
+ run: echo "PATH=/usr/lib/ccache:$PATH" >> "$GITHUB_ENV"
- name: Configure ccache action
uses: hendrikmuhs/[email protected]
with:
@@ -244,15 +239,15 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Runner image version
- run: echo "IMAGE_VERSION=${ImageVersion}" >> $GITHUB_ENV
+ run: echo "IMAGE_OS_VERSION=${ImageOS}-${ImageVersion}" >> "$GITHUB_ENV"
- name: Restore config.cache
uses: actions/cache@v4
with:
path: config.cache
- key: ${{ github.job }}-${{ runner.os }}-${{ env.IMAGE_VERSION }}-${{
needs.check_source.outputs.config_hash }}
+ key: ${{ github.job }}-${{ env.IMAGE_OS_VERSION }}-${{
needs.check_source.outputs.config_hash }}
- name: Register gcc problem matcher
run: echo "::add-matcher::.github/problem-matchers/gcc.json"
- - name: Install Dependencies
+ - name: Install dependencies
run: sudo ./.github/workflows/posix-deps-apt.sh
- name: Configure OpenSSL env vars
run: |
@@ -297,15 +292,15 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Runner image version
- run: echo "IMAGE_VERSION=${ImageVersion}" >> $GITHUB_ENV
+ run: echo "IMAGE_OS_VERSION=${ImageOS}-${ImageVersion}" >> "$GITHUB_ENV"
- name: Restore config.cache
uses: actions/cache@v4
with:
path: config.cache
- key: ${{ github.job }}-${{ runner.os }}-${{ env.IMAGE_VERSION }}-${{
needs.check_source.outputs.config_hash }}
+ key: ${{ github.job }}-${{ env.IMAGE_OS_VERSION }}-${{
needs.check_source.outputs.config_hash }}
- name: Register gcc problem matcher
run: echo "::add-matcher::.github/problem-matchers/gcc.json"
- - name: Install Dependencies
+ - name: Install dependencies
run: sudo ./.github/workflows/posix-deps-apt.sh
- name: Set up GCC-10 for ASAN
uses: egor-tensin/setup-gcc@v1
@@ -313,9 +308,9 @@ jobs:
version: 10
- name: Configure OpenSSL env vars
run: |
- echo "MULTISSL_DIR=${GITHUB_WORKSPACE}/multissl" >> $GITHUB_ENV
- echo "OPENSSL_DIR=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}"
>> $GITHUB_ENV
- echo
"LD_LIBRARY_PATH=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}/lib" >>
$GITHUB_ENV
+ echo "MULTISSL_DIR=${GITHUB_WORKSPACE}/multissl" >> "$GITHUB_ENV"
+ echo "OPENSSL_DIR=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}"
>> "$GITHUB_ENV"
+ echo
"LD_LIBRARY_PATH=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}/lib" >>
"$GITHUB_ENV"
- name: 'Restore OpenSSL build'
id: cache-openssl
uses: actions/cache@v4
@@ -324,10 +319,10 @@ jobs:
key: ${{ matrix.os }}-multissl-openssl-${{ env.OPENSSL_VER }}
- name: Install OpenSSL
if: steps.cache-openssl.outputs.cache-hit != 'true'
- run: python3 Tools/ssl/multissltests.py --steps=library --base-directory
$MULTISSL_DIR --openssl $OPENSSL_VER --system Linux
+ run: python3 Tools/ssl/multissltests.py --steps=library --base-directory
"$MULTISSL_DIR" --openssl "$OPENSSL_VER" --system Linux
- name: Add ccache to PATH
run: |
- echo "PATH=/usr/lib/ccache:$PATH" >> $GITHUB_ENV
+ echo "PATH=/usr/lib/ccache:$PATH" >> "$GITHUB_ENV"
- name: Configure ccache action
uses: hendrikmuhs/[email protected]
with:
diff --git a/.github/workflows/reusable-macos.yml
b/.github/workflows/reusable-macos.yml
index 997f120fc9abbb..d168cb76887ea1 100644
--- a/.github/workflows/reusable-macos.yml
+++ b/.github/workflows/reusable-macos.yml
@@ -30,12 +30,12 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Runner image version
- run: echo "IMAGE_VERSION=${ImageVersion}" >> $GITHUB_ENV
+ run: echo "IMAGE_OS_VERSION=${ImageOS}-${ImageVersion}" >> "$GITHUB_ENV"
- name: Restore config.cache
uses: actions/cache@v4
with:
path: config.cache
- key: ${{ github.job }}-${{ matrix.os }}-${{ env.IMAGE_VERSION }}-${{
inputs.config_hash }}
+ key: ${{ github.job }}-${{ env.IMAGE_OS_VERSION }}-${{
inputs.config_hash }}
- name: Install Homebrew dependencies
run: |
brew install pkg-config [email protected] xz gdbm tcl-tk@8
diff --git a/.github/workflows/reusable-ubuntu.yml
b/.github/workflows/reusable-ubuntu.yml
index 70478d400ccb5e..5f35227a54b735 100644
--- a/.github/workflows/reusable-ubuntu.yml
+++ b/.github/workflows/reusable-ubuntu.yml
@@ -28,9 +28,9 @@ jobs:
run: sudo ./.github/workflows/posix-deps-apt.sh
- name: Configure OpenSSL env vars
run: |
- echo "MULTISSL_DIR=${GITHUB_WORKSPACE}/multissl" >> $GITHUB_ENV
- echo "OPENSSL_DIR=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}"
>> $GITHUB_ENV
- echo
"LD_LIBRARY_PATH=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}/lib" >>
$GITHUB_ENV
+ echo "MULTISSL_DIR=${GITHUB_WORKSPACE}/multissl" >> "$GITHUB_ENV"
+ echo "OPENSSL_DIR=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}"
>> "$GITHUB_ENV"
+ echo
"LD_LIBRARY_PATH=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}/lib" >>
"$GITHUB_ENV"
- name: 'Restore OpenSSL build'
id: cache-openssl
uses: actions/cache@v4
@@ -39,10 +39,10 @@ jobs:
key: ${{ matrix.os }}-multissl-openssl-${{ env.OPENSSL_VER }}
- name: Install OpenSSL
if: steps.cache-openssl.outputs.cache-hit != 'true'
- run: python3 Tools/ssl/multissltests.py --steps=library --base-directory
$MULTISSL_DIR --openssl $OPENSSL_VER --system Linux
+ run: python3 Tools/ssl/multissltests.py --steps=library --base-directory
"$MULTISSL_DIR" --openssl "$OPENSSL_VER" --system Linux
- name: Add ccache to PATH
run: |
- echo "PATH=/usr/lib/ccache:$PATH" >> $GITHUB_ENV
+ echo "PATH=/usr/lib/ccache:$PATH" >> "$GITHUB_ENV"
- name: Configure ccache action
uses: hendrikmuhs/[email protected]
with:
@@ -50,19 +50,19 @@ jobs:
max-size: "200M"
- name: Setup directory envs for out-of-tree builds
run: |
- echo "CPYTHON_RO_SRCDIR=$(realpath -m
${GITHUB_WORKSPACE}/../cpython-ro-srcdir)" >> $GITHUB_ENV
- echo "CPYTHON_BUILDDIR=$(realpath -m
${GITHUB_WORKSPACE}/../cpython-builddir)" >> $GITHUB_ENV
+ echo "CPYTHON_RO_SRCDIR=$(realpath -m
"${GITHUB_WORKSPACE}"/../cpython-ro-srcdir)" >> "$GITHUB_ENV"
+ echo "CPYTHON_BUILDDIR=$(realpath -m
"${GITHUB_WORKSPACE}"/../cpython-builddir)" >> "$GITHUB_ENV"
- name: Create directories for read-only out-of-tree builds
- run: mkdir -p $CPYTHON_RO_SRCDIR $CPYTHON_BUILDDIR
+ run: mkdir -p "$CPYTHON_RO_SRCDIR" "$CPYTHON_BUILDDIR"
- name: Bind mount sources read-only
- run: sudo mount --bind -o ro $GITHUB_WORKSPACE $CPYTHON_RO_SRCDIR
+ run: sudo mount --bind -o ro "$GITHUB_WORKSPACE" "$CPYTHON_RO_SRCDIR"
- name: Runner image version
- run: echo "IMAGE_VERSION=${ImageVersion}" >> $GITHUB_ENV
+ run: echo "IMAGE_OS_VERSION=${ImageOS}-${ImageVersion}" >> "$GITHUB_ENV"
- name: Restore config.cache
uses: actions/cache@v4
with:
path: ${{ env.CPYTHON_BUILDDIR }}/config.cache
- key: ${{ github.job }}-${{ runner.os }}-${{ env.IMAGE_VERSION }}-${{
inputs.config_hash }}
+ key: ${{ github.job }}-${{ env.IMAGE_OS_VERSION }}-${{
inputs.config_hash }}
- name: Configure CPython out-of-tree
working-directory: ${{ env.CPYTHON_BUILDDIR }}
run: ${{ inputs.options }}
@@ -74,7 +74,7 @@ jobs:
run: make pythoninfo
- name: Remount sources writable for tests
# some tests write to srcdir, lack of pyc files slows down testing
- run: sudo mount $CPYTHON_RO_SRCDIR -oremount,rw
+ run: sudo mount "$CPYTHON_RO_SRCDIR" -oremount,rw
- name: Tests
working-directory: ${{ env.CPYTHON_BUILDDIR }}
run: xvfb-run make buildbottest TESTOPTS="-j4 -uall,-cpu"
_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/python-checkins.python.org/
Member address: [email protected]