Skip to content

Test notebooks

Test notebooks #114

name: Test notebooks
on:
push:
branches:
- main
pull_request:
branches:
- main
schedule:
- cron: '0 5 * * 1'
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
tests:
# Do not run the test matrix on PRs affecting the rendering
if: ${{ !(github.event_name == 'pull_request') || !contains(github.event.pull_request.labels.*.name, 'html rendering') }}
name: ${{ matrix.os }} ${{ matrix.name }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
# Run all supported OS for one Python version, then add a few extra scenarios
os: [ubuntu-latest, macos-latest, windows-latest]
python-version: ['3.12']
toxenv: [py312-test]
name: ['with Python 3.12',]
include:
- python-version: '3.9'
toxenv: py39-test-oldestdeps
name: with Python 3.9 and oldest versioned dependencies
os: ubuntu-latest
- python-version: '3.12'
toxenv: py312-test-devdeps
name: with Python 3.12 and developer versioned dependencies
os: ubuntu-latest
steps:
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d #v5.1.0
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: python -m pip install --upgrade tox
- name: Test with tox
run: tox ${{ matrix.toxargs }} -e ${{ matrix.toxenv }} -- ${{ matrix.toxposargs }}
gha_buildhtml:
# When label is used, we do run buildhtml on GHA to check if the publishing job will run or not.
# Use in case when new content has run into troubles on CircleCI.
if: ${{ (github.event_name == 'pull_request') && contains(github.event.pull_request.labels.*.name, 'GHA buildhtml') }}
name: Buildhtml testing
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Install dependencies
run: python -m pip install --upgrade tox
- name: Execute notebooks as testing
run: tox -e py311-buildhtml