Skip to content

Commit 294a6a2

Browse files
authored
Merge pull request #343 from VirtualPlanetaryLaboratory/restore-separate-test-workflows
Restore separate test workflows for Linux, macOS Intel, and macOS Sil…
2 parents 788abf8 + 59f6206 commit 294a6a2

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)