name: examples

on:
  push:
    branches:
      - master
      - develop
  pull_request:
  schedule:
    - cron: '0 4 1 * *'

jobs:
  examples:
    runs-on: ${{ matrix.os }}
    strategy:
      fail-fast: false
      matrix:
        os: [ubuntu-latest]
        python-version: ["3.8", "3.10"]

    steps:
      - name: Checkout source
        uses: actions/checkout@v3

      - name: Setup python
        uses: actions/setup-python@v4
        with:
          python-version: ${{ matrix.python-version }}

      - name: Install
        run: |
          sudo apt-get update
          sudo apt-get install dvipng texlive-latex-extra texlive-fonts-recommended cm-super
          python -m pip install --upgrade pip
          pip install wheel
          pip install .
          pip install pytest
          pip install nbmake
          pip install -U matplotlib!=3.7.0 # Exclude version 3.7.0 of matplotlib as this breaks local imports of style files.

      - name: Run tests
        run: pytest -vv --nbmake examples/*.ipynb