Skip to content

Tests

Tests #229

Workflow file for this run

# Based on github template: https://github.com/actions/starter-workflows/blob/main/ci/python-package.yml
name: Tests
on:
schedule:
- cron: '0 9 * * 1' # run every Monday at 9 AM UTC (3 am PST)
push:
pull_request:
workflow_dispatch:
jobs:
build:
name: ${{ matrix.python-version }}, ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ ubuntu-latest, macos-latest, windows-latest ]
python-version: ['3.11']
steps:
- name: Checkout source
uses: actions/checkout@v4
with:
persist-credentials: false
- name: Fetch all Git tags
run: git fetch --prune --unshallow --tags
- name: Setup Micromamba
uses: mamba-org/setup-micromamba@main
with:
environment-file: installation/environment.yml
cache-environment: false
cache-downloads: false
# persist on the same day.
# cache-environment-key: environment-${{ steps.date.outputs.date }}
# cache-downloads-key: downloads-${{ steps.date.outputs.date }}
create-args: >-
python=${{ matrix.python-version }}
init-shell: >-
bash
powershell
- name: Conda info
shell: bash -l {0}
run: micromamba info
- name: Install Modflow executables
uses: modflowpy/install-modflow-action@v1
with:
path: ~/.local/bin
github_token: ${{ secrets.GITHUB_TOKEN }}
- name: Modflow version
shell: bash -l {0}
run: mf6 --version
- name: Install ipykernel
shell: bash -l {0}
run: |
python -m ipykernel install --user --name pyclass --display-name "pyclass"
- name: Conda list
shell: bash -l {0}
run: micromamba list
- name: Workaround OpenGL issue on Linux
if: runner.os == 'Linux'
shell: bash -l {0}
run: |
# referenced from https://github.com/pyvista/pyvista/blob/main/.github/workflows/vtk-pre-test.yml#L53
micromamba remove -y --force vtk
pip install --extra-index-url https://wheels.vtk.org trame vtk-osmesa
- name: Install fonts on Linux
if: runner.os == 'Linux'
run: |
echo ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true | sudo debconf-set-selections
sudo apt-get install ttf-mscorefonts-installer fonts-liberation
sudo rm -rf ~/.cache/matplotlib
- name: Install OpenGL on Windows
if: runner.os == 'Windows'
shell: pwsh
run: |
Set-StrictMode -Version Latest
$ErrorActionPreference = "Stop"
$PSDefaultParameterValues['*:ErrorAction']='Stop'
powershell .github/install_opengl.ps1
- name: Run tests
shell: bash -l {0}
run: |
pytest tests/test_notebooks.py -v