Skip to content

Commit 7097831

Browse files
committed
ci: Move macOS/Windows matrix to release, keep CI Linux-only
1 parent e8e6ccf commit 7097831

2 files changed

Lines changed: 20 additions & 10 deletions

File tree

.github/workflows/cd.yml

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -112,20 +112,32 @@ jobs:
112112
echo "tag_name=v${{ github.event.inputs.version }}" >> "$GITHUB_OUTPUT"
113113
114114
pre-release-tests:
115-
name: Pre-release Tests
115+
name: Pre-release Tests (Python ${{ matrix.python-version }} / ${{ matrix.os }})
116116
needs: prepare-release
117-
runs-on: ubuntu-latest
118-
timeout-minutes: 15
117+
runs-on: ${{ matrix.os }}
118+
timeout-minutes: 20
119119
permissions:
120120
contents: read
121+
# Full cross-platform matrix runs HERE (release-only), not on every CI push:
122+
# all Python versions on Linux + macOS (10x) / Windows (2x) spot-checks.
123+
strategy:
124+
fail-fast: false
125+
matrix:
126+
os: [ubuntu-latest]
127+
python-version: ['3.11', '3.12', '3.13']
128+
include:
129+
- os: macos-latest
130+
python-version: '3.12'
131+
- os: windows-latest
132+
python-version: '3.12'
121133
steps:
122134
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
123135
with:
124136
ref: ${{ needs.prepare-release.outputs.tag_name }}
125137

126138
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6
127139
with:
128-
python-version: '3.12'
140+
python-version: ${{ matrix.python-version }}
129141

130142
- uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0
131143
with:
@@ -135,6 +147,7 @@ jobs:
135147
run: uv pip install -e ".[dev]" --system
136148

137149
- name: Run tests
150+
shell: bash
138151
run: pytest tests/ -v --cov=src/certamen --cov-report=term-missing
139152

140153
build:

.github/workflows/ci.yml

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,9 @@ jobs:
3939

4040
# ============================================================================
4141
# LAYER 2: Testing
42-
# All Python versions on Linux + spot-check macOS/Windows on primary version
42+
# CI = all Python versions on Linux only (minimal, cheap: 1x minutes).
43+
# macOS (10x) / Windows (2x) spot-checks run at RELEASE time in cd.yml
44+
# (pre-release-tests), not on every push.
4345
# ============================================================================
4446

4547
test:
@@ -54,11 +56,6 @@ jobs:
5456
matrix:
5557
os: [ubuntu-latest]
5658
python-version: ['3.11', '3.12', '3.13']
57-
include:
58-
- os: macos-latest
59-
python-version: '3.12'
60-
- os: windows-latest
61-
python-version: '3.12'
6259

6360
steps:
6461
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6

0 commit comments

Comments
 (0)