diff --git a/.github/workflows/checknb.yml b/.github/workflows/checknb.yml new file mode 100644 index 00000000..a1fc28bc --- /dev/null +++ b/.github/workflows/checknb.yml @@ -0,0 +1,58 @@ +name: Check notebooks + +on: + push: + branches: + - main + tags: '*' + pull_request: + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }} + +jobs: + test: + name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }} + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + version: ['lts', '1'] + os: [ubuntu-latest, macos-latest] + arch: [x64, arm64] + exclude: + - os: ubuntu-latest + arch: arm64 + - os: macos-latest + arch: x64 + + steps: + - uses: actions/checkout@v4 + + - uses: actions/setup-python@v5 + with: + python-version: '3.11' + + - name: Update pip + run: python -m pip install -U pip + + - name: Install Python dependencies + run: python -m pip install -U -r requirements.txt + + - uses: julia-actions/setup-julia@v2 + with: + version: ${{ matrix.version }} + arch: ${{ matrix.arch }} + + - uses: julia-actions/cache@v2 + + - uses: julia-actions/julia-buildpkg@v1 + env: + PYTHON: python + + # Step to run Jupyter notebooks in specified subdirectories + - name: Run Jupyter Notebooks + uses: jupyter-actions/run-notebook@v2.0.0 + with: + path: "notebooks/**/*.ipynb"