Skip to content

VTK Master Testing #219

VTK Master Testing

VTK Master Testing #219

Workflow file for this run

name: VTK Master Testing
on:
pull_request:
push:
branches:
# To resolve issues on VTK master and test, use this branch name pattern
- "maint/vtk-master*"
workflow_dispatch:
schedule:
- cron: "0 4 * * *"
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
ALLOW_PLOTTING: true
SHELLOPTS: "errexit:pipefail"
jobs:
VTK-master:
# only for pull requests, run only when 'vtk_master' label exists
if: ${{ github.event_name != 'pull_request' || contains(github.event.pull_request.labels.*.name, 'vtk-master') }}
name: Linux VTK Master Testing
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: [3.9, "3.10", "3.11", "3.12"]
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 2
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
cache: "pip"
- uses: actions/cache@v4
with:
path: ~/.local/share/pyvista/examples
key: Examples-1-${{ hashFiles('*') }}
restore-keys: |
Examples-1-
- name: Install PyVista Testing Requirements
run: pip install .[test]
- uses: awalsh128/cache-apt-pkgs-action@v1.1.3
with:
packages: libgl1-mesa-glx xvfb
version: 3.0
- name: Install nightly VTK
run: |
pip install vtk --pre --no-cache --extra-index-url https://wheels.vtk.org
- name: Core Testing (no GL)
run: python -m pytest --cov=pyvista -v tests/core tests/examples
- name: Plotting Testing (uses GL)
run: xvfb-run -a python -m pytest --fail_extra_image_cache -v --ignore=tests/core --ignore=tests/examples --generated_image_dir debug_images
- name: Upload Generated Images
if: always()
uses: actions/upload-artifact@v4
with:
name: debug_images-${{ github.job }}-${{ join(matrix.* , '-') }}
path: debug_images
- name: Software Report
if: always()
run: |
xvfb-run -a python -c "import pyvista; print(pyvista.Report()); from pyvista import examples; print('User data path:', examples.USER_DATA_PATH)"
which python
pip list
pip show vtk