Skip to content

Commit fbe7b68

Browse files
committed
Tune CI matrix adjustments so reports are clearer
Since gitpython-developers#1987, test jobs from `pythonpackage.yml` appear in an unintuitive order, and some show an extra bool matrix variable in their names while others don't (this corresponds to `experimental`, which was always set to some value, but was set in different ways). This fixes that by: - Listing all tested versions, rather than introducing some in an `include` key. (The `include:`-introduced jobs didn't distinguish between originally-present matrix variables and those that are introduced based on the values of the original ones.) - Replacing `os` with `os-type`, which has only the first part of the value for `runs-on:` (e.g., `ubuntu`), and adding `os-ver` to each matrix job, defaulting it to `latest`, but using `22.04` for Python 3.7 on Ubuntu. This should also naturally extend to adding 3.13, with or without setting `continue-on-error` to temporarily work around the problems obseved in gitpython-developers#1955, but nothing 3.13-related is done in this commit.
1 parent 39cd608 commit fbe7b68

File tree

1 file changed

+12
-11
lines changed

1 file changed

+12
-11
lines changed

.github/workflows/pythonpackage.yml

+12-11
Original file line numberDiff line numberDiff line change
@@ -12,20 +12,21 @@ jobs:
1212
build:
1313
strategy:
1414
matrix:
15-
os: [ubuntu-latest, macos-latest, windows-latest]
16-
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
17-
include:
18-
- experimental: false
19-
- os: ubuntu-22.04
15+
os-type: [ubuntu, macos, windows]
16+
python-version: ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12"]
17+
exclude:
18+
- os-type: macos
2019
python-version: "3.7"
21-
experimental: false
22-
- os: windows-latest
20+
include:
21+
- os-ver: latest
22+
- os-type: ubuntu
2323
python-version: "3.7"
24-
experimental: false
24+
os-ver: "22.04"
25+
- experimental: false
2526

2627
fail-fast: false
2728

28-
runs-on: ${{ matrix.os }}
29+
runs-on: ${{ matrix.os-type }}-${{ matrix.os-ver }}
2930

3031
defaults:
3132
run:
@@ -43,7 +44,7 @@ jobs:
4344
allow-prereleases: ${{ matrix.experimental }}
4445

4546
- name: Set up WSL (Windows)
46-
if: startsWith(matrix.os, 'windows')
47+
if: matrix.os-type == 'windows'
4748
uses: Vampire/[email protected]
4849
with:
4950
distribution: Alpine
@@ -80,7 +81,7 @@ jobs:
8081
8182
# For debugging hook tests on native Windows systems that may have WSL.
8283
- name: Show bash.exe candidates (Windows)
83-
if: startsWith(matrix.os, 'windows')
84+
if: matrix.os-type == 'windows'
8485
run: |
8586
set +e
8687
bash.exe -c 'printenv WSL_DISTRO_NAME; uname -a'

0 commit comments

Comments
 (0)