Skip to content

Commit 59f6206

Browse files
RoryBarnesclaude
andcommitted
Restore separate test workflows for Linux, macOS Intel, and macOS Silicon
Split the consolidated tests.yml back into three independent workflows with current runner labels: ubuntu-22.04/24.04, macos-15-intel, and macos-15/macos-26. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 788abf8 commit 59f6206

3 files changed

Lines changed: 99 additions & 17 deletions

File tree

Lines changed: 13 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: tests
1+
name: tests-linux
22

33
on:
44
pull_request:
@@ -7,12 +7,12 @@ on:
77

88
jobs:
99
tests:
10-
name: 'py${{ matrix.python-version }} on ${{ matrix.os }}'
10+
name: '${{ matrix.os }}:python-${{ matrix.python-version }}'
1111
runs-on: ${{ matrix.os }}
1212
strategy:
1313
fail-fast: false
1414
matrix:
15-
os: [ubuntu-22.04, ubuntu-24.04, macos-15-intel, macos-26]
15+
os: [ubuntu-22.04, ubuntu-24.04]
1616
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"]
1717

1818
steps:
@@ -30,23 +30,26 @@ jobs:
3030

3131
- name: Install dependencies
3232
run: |
33+
sudo apt-get update
34+
sudo apt-get install -y lcov
3335
python -m pip install --upgrade pip
3436
python -m pip install -e .
3537
python -m pip install pytest pytest-cov pytest-timeout
3638
37-
- name: Install lcov (Linux)
38-
if: runner.os == 'Linux'
39-
run: |
40-
sudo apt-get update
41-
sudo apt-get install -y lcov
42-
4339
- name: Build vplanet
4440
run: make opt
4541

4642
- name: Run tests
4743
timeout-minutes: 20
4844
run: |
49-
python -m pytest tests/ --tb=short -v --timeout=300 --junitxml=junit/test-results-${{ matrix.os }}-${{ matrix.python-version }}.xml
45+
python -m pytest tests/ --tb=short -v --timeout=300 --junitxml=junit/test-results.xml
46+
47+
- name: Publish test results
48+
uses: EnricoMi/publish-unit-test-result-action@v2
49+
if: always()
50+
with:
51+
files: junit/test-*.xml
52+
check_name: Test Results (${{ matrix.os }} py${{ matrix.python-version }})
5053

5154
- name: Generate coverage
5255
if: matrix.os == 'ubuntu-22.04' && matrix.python-version == '3.9'
@@ -61,10 +64,3 @@ jobs:
6164
flags: ${{ matrix.os }}-py${{ matrix.python-version }}
6265
name: ${{ matrix.os }}-py${{ matrix.python-version }}
6366
fail_ci_if_error: false
64-
65-
- name: Publish test results
66-
uses: EnricoMi/publish-unit-test-result-action@v2
67-
if: always() && runner.os == 'Linux'
68-
with:
69-
files: junit/test-*.xml
70-
check_name: Test Results (py${{ matrix.python-version }} on ${{ matrix.os }})
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
name: tests-macos-intel
2+
3+
on:
4+
pull_request:
5+
branches: [main]
6+
workflow_dispatch:
7+
8+
jobs:
9+
tests:
10+
name: '${{ matrix.os }}:python-${{ matrix.python-version }}'
11+
runs-on: ${{ matrix.os }}
12+
strategy:
13+
fail-fast: false
14+
matrix:
15+
os: [macos-15-intel]
16+
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"]
17+
18+
steps:
19+
- uses: actions/checkout@v5
20+
with:
21+
fetch-depth: 0
22+
23+
- name: Set up Python ${{ matrix.python-version }}
24+
id: setup_python
25+
uses: actions/setup-python@v5
26+
with:
27+
python-version: ${{ matrix.python-version }}
28+
cache: 'pip'
29+
cache-dependency-path: setup.py
30+
31+
- name: Install dependencies
32+
run: |
33+
python -m pip install --upgrade pip
34+
python -m pip install -e .
35+
python -m pip install pytest pytest-cov pytest-timeout
36+
37+
- name: Build vplanet
38+
run: make opt
39+
40+
- name: Run tests
41+
timeout-minutes: 20
42+
run: |
43+
python -m pytest tests/ --tb=short -v --timeout=300 --junitxml=junit/test-results.xml
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
name: tests-macos-silicon
2+
3+
on:
4+
pull_request:
5+
branches: [main]
6+
workflow_dispatch:
7+
8+
jobs:
9+
tests:
10+
name: '${{ matrix.os }}:python-${{ matrix.python-version }}'
11+
runs-on: ${{ matrix.os }}
12+
strategy:
13+
fail-fast: false
14+
matrix:
15+
os: [macos-15, macos-26]
16+
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"]
17+
18+
steps:
19+
- uses: actions/checkout@v5
20+
with:
21+
fetch-depth: 0
22+
23+
- name: Set up Python ${{ matrix.python-version }}
24+
id: setup_python
25+
uses: actions/setup-python@v5
26+
with:
27+
python-version: ${{ matrix.python-version }}
28+
cache: 'pip'
29+
cache-dependency-path: setup.py
30+
31+
- name: Install dependencies
32+
run: |
33+
python -m pip install --upgrade pip
34+
python -m pip install -e .
35+
python -m pip install pytest pytest-cov pytest-timeout
36+
37+
- name: Build vplanet
38+
run: make opt
39+
40+
- name: Run tests
41+
timeout-minutes: 20
42+
run: |
43+
python -m pytest tests/ --tb=short -v --timeout=300 --junitxml=junit/test-results.xml

0 commit comments

Comments
 (0)