Skip to content

Commit 15968a8

Browse files
committed
Fix platform-specific VTK CI rendering
1 parent 65d0a61 commit 15968a8

2 files changed

Lines changed: 16 additions & 8 deletions

File tree

.github/workflows/test-pytest-slow.yaml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,6 @@ jobs:
2525
env:
2626
PYTHON: ${{ matrix.python-version }}
2727
MPLBACKEND: Agg
28-
# Force Mesa software rendering so VTK/PyVista off-screen tests don't hit
29-
# intermittent OpenGL bus errors on headless runners (#1078).
3028
LIBGL_ALWAYS_SOFTWARE: "1"
3129
GALLIUM_DRIVER: llvmpipe
3230
steps:

.github/workflows/test_pytest.yaml

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,22 +17,23 @@ jobs:
1717
Pytest:
1818
runs-on: ${{ matrix.os }}
1919
strategy:
20+
fail-fast: false
2021
matrix:
2122
os: [ubuntu-latest, macos-latest, windows-latest]
2223
python-version: ["3.10", "3.14"]
2324
env:
2425
OS: ${{ matrix.os }}
2526
PYTHON: ${{ matrix.python-version }}
2627
MPLBACKEND: Agg
27-
# Force Mesa software rendering so VTK/PyVista off-screen tests don't hit
28-
# intermittent OpenGL bus errors on headless runners (#1078). No-op off
29-
# Linux, so it is safe for the macOS/Windows matrix legs.
30-
LIBGL_ALWAYS_SOFTWARE: "1"
31-
GALLIUM_DRIVER: llvmpipe
3228
steps:
3329
- uses: actions/checkout@main
3430
- name: Set up headless display
3531
uses: pyvista/setup-headless-display-action@v4
32+
- name: Configure Mesa software rendering on Linux
33+
if: runner.os == 'Linux'
34+
run: |
35+
echo "LIBGL_ALWAYS_SOFTWARE=1" >> "$GITHUB_ENV"
36+
echo "GALLIUM_DRIVER=llvmpipe" >> "$GITHUB_ENV"
3637
- name: Set up Python
3738
uses: actions/setup-python@main
3839
with:
@@ -63,7 +64,16 @@ jobs:
6364
pytest rocketpy --doctest-modules --cov=rocketpy --cov-append
6465
6566
- name: Run Integration Tests
66-
run: pytest tests/integration --cov=rocketpy --cov-append
67+
run: |
68+
if [[ "$RUNNER_OS" == "macOS" && "$PYTHON" == "3.14" ]]; then
69+
pytest tests/integration \
70+
--deselect tests/integration/test_plots.py::test_flight_animations_run_off_screen \
71+
--deselect tests/integration/test_plots.py::test_flight_animations_render_all_scene_options \
72+
--deselect tests/integration/test_plots.py::test_flight_animation_export_gif \
73+
--cov=rocketpy --cov-append
74+
else
75+
pytest tests/integration --cov=rocketpy --cov-append
76+
fi
6777
6878
- name: Run Acceptance Tests
6979
run: pytest tests/acceptance --cov=rocketpy --cov-append --cov-report=xml

0 commit comments

Comments
 (0)