Skip to content

Commit a0e2de0

Browse files
RoryBarnesclaude
andcommitted
Update GitHub Actions workflow to match vspace testing strategy
Changes: - Use ubuntu-22.04 (explicit version) instead of ubuntu-latest - Update to actions/checkout@v5 (from v4) - Add diagnostic test step before full test suite - Increase test timeout from 10 to 20 minutes - Add -s flag to pytest for subprocess output visibility - Update conditional checks from ubuntu-latest to ubuntu-22.04 - Standardize step names ("Install VPLanet", "Publish test results") - Remove "Clone vplot repo" name (use default from vspace) Testing limited to ubuntu-22.04 and Python 3.9 until GitHub Actions is debugged. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
1 parent 56257e3 commit a0e2de0

1 file changed

Lines changed: 16 additions & 9 deletions

File tree

.github/workflows/tests.yml

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,11 @@ jobs:
1313
strategy:
1414
fail-fast: false
1515
matrix:
16-
os: [ubuntu-latest]
16+
os: [ubuntu-22.04]
1717
python-version: ['3.9']
1818

1919
steps:
20-
- name: Clone vplot repo
21-
uses: actions/checkout@v4
20+
- uses: actions/checkout@v5
2221
with:
2322
fetch-depth: 0
2423

@@ -28,7 +27,7 @@ jobs:
2827
python-version: ${{ matrix.python-version }}
2928
cache: 'pip'
3029

31-
- name: Install vplanet
30+
- name: Install VPLanet
3231
run: |
3332
python -m pip install --upgrade pip
3433
python -m pip install vplanet
@@ -50,6 +49,13 @@ jobs:
5049
popd
5150
done
5251
52+
- name: Run diagnostic test
53+
timeout-minutes: 3
54+
run: |
55+
# First run a simple unit test to verify pytest works
56+
echo "Running single unit test as diagnostic..."
57+
python -m pytest tests/test_figure.py::test_basic -v -s
58+
5359
- name: Enable subprocess coverage
5460
run: |
5561
# Install coverage subprocess support
@@ -58,12 +64,13 @@ jobs:
5864
echo "COVERAGE_PROCESS_START=${{ github.workspace }}/.coveragerc" >> $GITHUB_ENV
5965
6066
- name: Run tests
61-
timeout-minutes: 10
67+
timeout-minutes: 20
6268
run: |
63-
python -m pytest tests/ -v --timeout=300 --junitxml=junit/test-results-${{ matrix.os }}-${{ matrix.python-version }}.xml --cov --cov-report=xml --cov-report=term
69+
# Run all tests with verbose output, capture disabled to see subprocess output, and per-test timeout
70+
python -m pytest tests/ -v -s --timeout=300 --junitxml=junit/test-results-${{ matrix.os }}-${{ matrix.python-version }}.xml --cov --cov-report=xml --cov-report=term
6471
6572
- name: Combine coverage data
66-
if: matrix.os == 'ubuntu-latest' && matrix.python-version == '3.9'
73+
if: matrix.os == 'ubuntu-22.04' && matrix.python-version == '3.9'
6774
run: |
6875
# Move all coverage files from subdirectories to repository root
6976
find tests/ -name ".coverage.*" -type f -exec mv {} . \; 2>/dev/null || true
@@ -74,7 +81,7 @@ jobs:
7481
7582
- name: Upload coverage to Codecov
7683
# Only upload from one runner to avoid redundant API calls
77-
if: matrix.os == 'ubuntu-latest' && matrix.python-version == '3.9'
84+
if: matrix.os == 'ubuntu-22.04' && matrix.python-version == '3.9'
7885
uses: codecov/codecov-action@v4
7986
with:
8087
token: ${{ secrets.CODECOV_TOKEN }}
@@ -83,7 +90,7 @@ jobs:
8390
name: ${{ matrix.os }}-py${{ matrix.python-version }}
8491
fail_ci_if_error: false
8592

86-
- name: Publish unit test results
93+
- name: Publish test results
8794
uses: EnricoMi/publish-unit-test-result-action@v2
8895
if: always() && runner.os == 'Linux'
8996
with:

0 commit comments

Comments
 (0)