summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Epler <jepler@gmail.com>2025-07-04 09:56:29 +0100
committerDamien George <damien@micropython.org>2025-07-06 00:08:54 +1000
commita9801f9960ea2b8e94d5626840c97bc45286e1a3 (patch)
tree1dcb90b2a6bf9233401735798ddf720917d8aada
parenta8c2b917e2837541597f24f7220c8c73c16c2fa7 (diff)
github/workflows: Use Python 3.11 for unix coverage testing.
This removes the need for an explicit `sys_settrace_features.py.exp` file. This means that people testing locally will also need to install Python 3.11 in some way, such as with pyenv or uv, and use it during `make VARIANT=coverage test`, or they will get failures. When using Python from GitHub actions/setup-python, pip3 can't be wrapped by sudo, because this invokes the operating system python instead. Signed-off-by: Jeff Epler <jepler@gmail.com>
-rw-r--r--.github/workflows/ports_unix.yml15
-rwxr-xr-xtools/ci.sh6
2 files changed, 18 insertions, 3 deletions
diff --git a/.github/workflows/ports_unix.yml b/.github/workflows/ports_unix.yml
index e3ebcfda3..4b22926ea 100644
--- a/.github/workflows/ports_unix.yml
+++ b/.github/workflows/ports_unix.yml
@@ -71,6 +71,11 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
+ - uses: actions/setup-python@v5
+ # Python 3.12 is the default for ubuntu-24.04, but that has compatibility issues with settrace tests.
+ # Can remove this step when ubuntu-latest uses a more recent Python 3.x as the default.
+ with:
+ python-version: '3.11'
- name: Install packages
run: source tools/ci.sh && ci_unix_coverage_setup
- name: Build
@@ -250,6 +255,11 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
+ - uses: actions/setup-python@v5
+ # Python 3.12 is the default for ubuntu-24.04, but that has compatibility issues with settrace tests.
+ # Can remove this step when ubuntu-latest uses a more recent Python 3.x as the default.
+ with:
+ python-version: '3.11'
- name: Install packages
run: source tools/ci.sh && ci_unix_coverage_setup
- name: Build
@@ -270,6 +280,11 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
+ - uses: actions/setup-python@v5
+ # Python 3.12 is the default for ubuntu-24.04, but that has compatibility issues with settrace tests.
+ # Can remove this step when ubuntu-latest uses a more recent Python 3.x as the default.
+ with:
+ python-version: '3.11'
- name: Install packages
run: source tools/ci.sh && ci_unix_coverage_setup
- name: Build
diff --git a/tools/ci.sh b/tools/ci.sh
index 2f0b74242..4007dfebf 100755
--- a/tools/ci.sh
+++ b/tools/ci.sh
@@ -612,9 +612,9 @@ function ci_unix_standard_v2_run_tests {
}
function ci_unix_coverage_setup {
- sudo pip3 install setuptools
- sudo pip3 install pyelftools
- sudo pip3 install ar
+ pip3 install setuptools
+ pip3 install pyelftools
+ pip3 install ar
gcc --version
python3 --version
}