CI #3015
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: "CI" | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event.number }}-${{ github.event.ref }} | |
cancel-in-progress: true | |
on: | |
push: | |
branches: | |
- "*" | |
pull_request: | |
branches: | |
- "*" | |
schedule: | |
- cron: "0 4 * * *" | |
jobs: | |
pip-pre: | |
name: ubuntu-latest / Python3.9 / ${{ matrix.qt }} / pyvista-main / qtpy-master | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
qt: ["None", "PySide2", "PySide6", "PyQt5", "PyQt6"] | |
defaults: | |
run: | |
shell: bash | |
env: | |
ALLOW_PLOTTING: "true" | |
PYTHON_VERSION: "3.9" | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: pyvista/setup-headless-display-action@main | |
with: | |
qt: true | |
pyvista: false | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ env.PYTHON_VERSION }} | |
- run: | | |
python -m pip install --upgrade pip wheel | |
pip install --upgrade -r requirements_test.txt | |
pip install --upgrade --progress-bar off https://github.com/pyvista/pyvista/zipball/main https://github.com/spyder-ide/qtpy/zipball/master | |
name: "Install dependencies with pip" | |
- run: pip install ${{ matrix.qt }} | |
name: "Install Qt binding" | |
if: matrix.qt != 'None' | |
- run: pip install "PyQt6-Qt6!=6.6.0,!=6.7.0" "PyQt6!=6.6.0" | |
name: "Install PyQt6-Qt6" | |
if: matrix.qt == 'PyQt6' | |
- run: pip install "PySide6!=6.7.0" | |
name: "Install PySide6" | |
if: matrix.qt == 'PySide6' | |
- run: | | |
pip install -e . | |
python -c "import pyvista; print(pyvista.Report())" | |
name: "Install pyvistaqt" | |
- run: python pyvistaqt/rwi.py | |
name: "Run QVTKRenderWidgetConeExample" | |
if: matrix.qt != 'None' | |
- run: pytest -v --cov pyvistaqt --cov-report html | |
name: "Run Tests" | |
if: matrix.qt != 'None' | |
- run: | | |
pip uninstall -y pytest-qt | |
pytest -v tests/test_qt.py | |
name: "Import without Qt" | |
if: matrix.qt == 'None' | |
- uses: codecov/codecov-action@v4 | |
env: | |
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
if: success() | |
name: "Upload coverage to CodeCov" | |
pip: | |
name: ${{ matrix.os }} / pip / PyQt6 / pyvista-${{ matrix.pyvista }} | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: ["ubuntu-latest", "macos-13", "macos-latest", "windows-latest"] | |
pyvista: ["0"] # All OSes on latest release | |
python-version: ["3.12"] | |
include: # and Linux for older ones | |
- os: "ubuntu-latest" | |
pyvista: "0.34" | |
python-version: "3.10" | |
- os: "ubuntu-latest" | |
pyvista: "0.35" | |
python-version: "3.11" | |
- os: "ubuntu-latest" | |
pyvista: "0.36" | |
python-version: "3.12" | |
- os: "ubuntu-latest" | |
pyvista: "0.37" | |
python-version: "3.12" | |
- os: "ubuntu-latest" | |
pyvista: "0.38" | |
python-version: "3.12" | |
- os: "ubuntu-latest" | |
pyvista: "0.39" | |
python-version: "3.12" | |
- os: "ubuntu-latest" | |
pyvista: "0.40" | |
python-version: "3.12" | |
- os: "ubuntu-latest" | |
pyvista: "0.41" | |
python-version: "3.12" | |
- os: "ubuntu-latest" | |
pyvista: "0.42" | |
python-version: "3.12" | |
- os: "ubuntu-latest" | |
pyvista: "0.43" | |
python-version: "3.12" | |
defaults: | |
run: | |
shell: bash -e {0} | |
env: | |
ALLOW_PLOTTING: "true" | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: pyvista/setup-headless-display-action@main | |
with: | |
qt: true | |
pyvista: false | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
name: "Setup python" | |
- run: | | |
python -m pip install --upgrade pip wheel | |
pip install -r requirements_test.txt | |
name: "Install dependencies with pip" | |
- run: pip install "PyQt6-Qt6!=6.6.0,!=6.7.0" "PyQt6!=6.6.0" | |
name: "Install Qt binding" | |
- run: | | |
pip install --upgrade "pyvista==${{ matrix.pyvista }}.*" | |
if [[ "${{ matrix.pyvista }}" != "0" ]] && [[ "${{ matrix.pyvista }}" != "0.44" ]]; then | |
pip install "numpy<2" | |
fi | |
name: "Install PyVista ${{ matrix.pyvista }}" | |
- run: | | |
pip install -e . | |
python -c "import pyvista; print(pyvista.Report())" | |
name: "Install pyvistaqt" | |
- run: pytest -v --cov pyvistaqt --cov-report html | |
name: "Run Tests" | |
- uses: codecov/codecov-action@v4 | |
env: | |
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
if: success() | |
name: "Upload coverage to CodeCov" | |
conda: | |
name: ${{ matrix.os }} / conda / ${{ matrix.qt }} | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: ["ubuntu-latest", "macos-13", "macos-latest", "windows-latest"] | |
qt: ["PyQt5"] | |
python-version: ["3.12"] | |
defaults: | |
run: | |
shell: bash | |
env: | |
ALLOW_PLOTTING: "true" | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: pyvista/setup-headless-display-action@main | |
with: | |
qt: true | |
pyvista: false | |
- uses: mamba-org/setup-micromamba@v2 | |
with: | |
# https://github.com/mamba-org/setup-micromamba/issues/225 | |
micromamba-version: 1.5.10-0 | |
environment-file: "environment.yml" | |
environment-name: "pyvistaqt-env" | |
create-args: >- | |
python=${{ matrix.python-version }} | |
- shell: bash -el {0} | |
run: pip install ${{ matrix.qt }} | |
name: "Install Qt binding" | |
- shell: bash -el {0} | |
run: | | |
pip install -e . | |
python -c "import pyvista; print(pyvista.Report())" | |
name: "Install pyvistaqt" | |
- shell: bash -el {0} | |
run: pytest -v --cov pyvistaqt --cov-report html | |
name: "Run Tests" | |
- uses: codecov/codecov-action@v4 | |
env: | |
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
if: success() | |
name: "Upload coverage to CodeCov" |