https://github.com/python/cpython/commit/3d7a141c2f235b70dd6c2d64308022c4b77df131
commit: 3d7a141c2f235b70dd6c2d64308022c4b77df131
branch: main
author: Hugo van Kemenade <[email protected]>
committer: hugovk <[email protected]>
date: 2025-02-17T13:53:55+02:00
summary:
CI: Use ImageOS (ubuntu24) instead of runner.os (Linux) in cache keys (#130200)
files:
M .github/workflows/build.yml
M .github/workflows/reusable-macos.yml
M .github/workflows/reusable-tsan.yml
M .github/workflows/reusable-ubuntu.yml
M .github/workflows/reusable-wasi.yml
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index a33e347996342a..bf94f264215063 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -62,8 +62,6 @@ jobs:
with:
fetch-depth: 1
persist-credentials: false
- - name: Runner image version
- run: echo "IMAGE_VERSION=${ImageVersion}" >> "$GITHUB_ENV"
- name: Check Autoconf and aclocal versions
run: |
grep "Generated by GNU Autoconf 2.72" configure
@@ -104,14 +102,14 @@ 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
# Include env.pythonLocation in key to avoid changes in environment
when setup-python updates Python
- key: ${{ github.job }}-${{ runner.os }}-${{ env.IMAGE_VERSION }}-${{
needs.build-context.outputs.config-hash }}-${{ env.pythonLocation }}
- - name: Install Dependencies
+ key: ${{ github.job }}-${{ env.IMAGE_OS_VERSION }}-${{
needs.build-context.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"
@@ -284,15 +282,15 @@ jobs:
with:
persist-credentials: false
- 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.build-context.outputs.config-hash }}
+ key: ${{ github.job }}-${{ env.IMAGE_OS_VERSION }}-${{
needs.build-context.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: |
@@ -347,7 +345,7 @@ jobs:
persist-credentials: false
- 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: |
@@ -379,12 +377,12 @@ jobs:
- name: Bind mount sources read-only
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 }}-${{
needs.build-context.outputs.config-hash }}
+ key: ${{ github.job }}-${{ env.IMAGE_OS_VERSION }}-${{
needs.build-context.outputs.config-hash }}
- name: Configure CPython out-of-tree
working-directory: ${{ env.CPYTHON_BUILDDIR }}
run: |
@@ -466,15 +464,15 @@ jobs:
with:
persist-credentials: false
- 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.build-context.outputs.config-hash }}
+ key: ${{ github.job }}-${{ env.IMAGE_OS_VERSION }}-${{
needs.build-context.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
@@ -537,19 +535,19 @@ jobs:
with:
persist-credentials: false
- 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.build-context.outputs.config-hash }}
+ key: ${{ github.job }}-${{ env.IMAGE_OS_VERSION }}-${{
needs.build-context.outputs.config-hash }}
- name: Register gcc problem matcher
run: echo "::add-matcher::.github/problem-matchers/gcc.json"
- name: Set build dir
run:
# an absolute path outside of the working directoy
echo "BUILD_DIR=$(realpath ${{ github.workspace }}/../build)" >>
"$GITHUB_ENV"
- - name: Install Dependencies
+ - name: Install dependencies
run: sudo ./.github/workflows/posix-deps-apt.sh
- name: Configure host build
run: ./configure --prefix="$BUILD_DIR/host-python"
diff --git a/.github/workflows/reusable-macos.yml
b/.github/workflows/reusable-macos.yml
index 4e7aced94a321c..43ce0f957d2d49 100644
--- a/.github/workflows/reusable-macos.yml
+++ b/.github/workflows/reusable-macos.yml
@@ -35,12 +35,12 @@ jobs:
with:
persist-credentials: false
- 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 }}-${{ inputs.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 make
diff --git a/.github/workflows/reusable-tsan.yml
b/.github/workflows/reusable-tsan.yml
index 8ac2f84099e563..5c815f72f0ada5 100644
--- a/.github/workflows/reusable-tsan.yml
+++ b/.github/workflows/reusable-tsan.yml
@@ -25,13 +25,13 @@ jobs:
with:
persist-credentials: false
- 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 }}-${{
inputs.config_hash }}
- - name: Install Dependencies
+ key: ${{ github.job }}-${{ env.IMAGE_OS_VERSION }}-${{
inputs.config_hash }}
+ - name: Install dependencies
run: |
sudo ./.github/workflows/posix-deps-apt.sh
# Install clang-18
@@ -44,7 +44,7 @@ jobs:
sudo update-alternatives --set clang++ /usr/bin/clang++-17
# Reduce ASLR to avoid TSAN crashing
sudo sysctl -w vm.mmap_rnd_bits=28
- - name: TSAN Option Setup
+ - name: TSAN option setup
run: |
echo "TSAN_OPTIONS=log_path=${GITHUB_WORKSPACE}/tsan_log
suppressions=${GITHUB_WORKSPACE}/Tools/tsan/suppressions${{
fromJSON(inputs.free-threading)
diff --git a/.github/workflows/reusable-ubuntu.yml
b/.github/workflows/reusable-ubuntu.yml
index aa8ba00f19d8ca..9b366d4dfc212d 100644
--- a/.github/workflows/reusable-ubuntu.yml
+++ b/.github/workflows/reusable-ubuntu.yml
@@ -78,12 +78,12 @@ jobs:
- name: Bind mount sources read-only
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 }}
# `test_unpickle_module_race` writes to the source directory, which is
diff --git a/.github/workflows/reusable-wasi.yml
b/.github/workflows/reusable-wasi.yml
index 4456b83c8e0032..36a0e4ef673260 100644
--- a/.github/workflows/reusable-wasi.yml
+++ b/.github/workflows/reusable-wasi.yml
@@ -53,6 +53,8 @@ jobs:
uses: actions/setup-python@v5
with:
python-version: '3.x'
+ - name: "Runner image version"
+ run: echo "IMAGE_OS_VERSION=${ImageOS}-${ImageVersion}" >> "$GITHUB_ENV"
- name: "Restore Python build config.cache"
uses: actions/cache@v4
with:
@@ -60,7 +62,7 @@ jobs:
# Include env.pythonLocation in key to avoid changes in environment
when setup-python updates Python.
# Include the hash of `Tools/wasm/wasi.py` as it may change the
environment variables.
# (Make sure to keep the key in sync with the other config.cache step
below.)
- key: ${{ github.job }}-${{ runner.os }}-${{ env.IMAGE_VERSION }}-${{
env.WASI_SDK_VERSION }}-${{ env.WASMTIME_VERSION }}-${{ inputs.config_hash
}}-${{ hashFiles('Tools/wasm/wasi.py') }}-${{ env.pythonLocation }}
+ key: ${{ github.job }}-${{ env.IMAGE_OS_VERSION }}-${{
env.WASI_SDK_VERSION }}-${{ env.WASMTIME_VERSION }}-${{ inputs.config_hash
}}-${{ hashFiles('Tools/wasm/wasi.py') }}-${{ env.pythonLocation }}
- name: "Configure build Python"
run: python3 Tools/wasm/wasi.py configure-build-python -- --config-cache
--with-pydebug
- name: "Make build Python"
@@ -70,7 +72,7 @@ jobs:
with:
path: ${{ env.CROSS_BUILD_WASI }}/config.cache
# Should be kept in sync with the other config.cache step above.
- key: ${{ github.job }}-${{ runner.os }}-${{ env.IMAGE_VERSION }}-${{
env.WASI_SDK_VERSION }}-${{ env.WASMTIME_VERSION }}-${{ inputs.config_hash
}}-${{ hashFiles('Tools/wasm/wasi.py') }}-${{ env.pythonLocation }}
+ key: ${{ github.job }}-${{ env.IMAGE_OS_VERSION }}-${{
env.WASI_SDK_VERSION }}-${{ env.WASMTIME_VERSION }}-${{ inputs.config_hash
}}-${{ hashFiles('Tools/wasm/wasi.py') }}-${{ env.pythonLocation }}
- name: "Configure host"
# `--with-pydebug` inferred from configure-build-python
run: python3 Tools/wasm/wasi.py configure-host -- --config-cache
_______________________________________________
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]