build(deps): bump nbconvert from 7.16.6 to 7.17.0 #114
Workflow file for this run
This file contains hidden or 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 | |
| on: | |
| pull_request: | |
| push: | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
| cancel-in-progress: true | |
| env: | |
| # Many color libraries just need this to be set to any value, but at least | |
| # one distinguishes color depth, where "3" -> "256-bit color". | |
| FORCE_COLOR: 3 | |
| jobs: | |
| checks: | |
| name: Check Python ${{ matrix.python-version }} on ${{ matrix.os }} | |
| runs-on: ${{ matrix.os }} | |
| env: | |
| UV_PYTHON: ${{ matrix.python-version }} | |
| defaults: | |
| run: | |
| shell: bash | |
| strategy: | |
| matrix: | |
| os: [ ubuntu-22.04, macos-latest, windows-latest ] | |
| python-version: [ "3.10", "3.11", "3.12" ] | |
| fail-fast: false | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - uses: astral-sh/setup-uv@v7 | |
| - name: Install Python ${{ matrix.python-version }} | |
| run: uv python install ${UV_PYTHON} | |
| # Use msmpi on windows | |
| - uses: mpi4py/setup-mpi@v1 | |
| if: ${{ contains(matrix.os, 'windows') }} | |
| with: | |
| mpi: msmpi | |
| # Use mpich on linux (openmpi tends to hang in GitHub Actions runners) | |
| - uses: mpi4py/setup-mpi@v1 | |
| if: ${{ contains(matrix.os, 'ubuntu') }} | |
| with: | |
| mpi: mpich | |
| # Use the default for the OS (openmpi) on macOS | |
| - uses: mpi4py/setup-mpi@v1 | |
| if: ${{ contains(matrix.os, 'macos') }} | |
| # Setup openmp on macOS | |
| - name: Install openmp if on macos | |
| if: ${{ contains(matrix.os, 'macos') }} | |
| run: | | |
| brew install libomp llvm | |
| - name: Synchronize project environment | |
| run: | | |
| if [[ "$RUNNER_OS" == "macOS" ]]; then | |
| export CC=$(brew --prefix llvm)/bin/clang | |
| export CXX=$(brew --prefix llvm)/bin/clang++ | |
| fi | |
| # Build mpi4py from source on Linux so it links against the | |
| # locally-installed MPI runtime; pre-built wheels cause | |
| # "libmpi.so.12: cannot open shared object file" on Linux. | |
| # On macOS and Windows the pre-built wheels work fine. | |
| ARGS=(--locked --extra dev --extra matnormal --extra examples) | |
| if [[ "$RUNNER_OS" == "Linux" ]]; then | |
| ARGS+=(--no-binary-package mpi4py) | |
| fi | |
| uv sync "${ARGS[@]}" | |
| - name: Run static analysis and tests | |
| if: runner.os == 'Linux' | |
| run: | | |
| uv run ./run-checks.sh | |
| uv run ./run-tests.sh --sdist-mode | |
| uv run bash -lc 'cd docs && make' | |
| - name: Run static analysis and tests | |
| if: runner.os == 'macOS' | |
| run: | | |
| export CLANG_PREFIX=$(brew --prefix llvm) | |
| export CC=$CLANG_PREFIX/bin/clang | |
| export CXX=$CLANG_PREFIX/bin/clang++ | |
| uv run ./run-checks.sh | |
| uv run ./run-tests.sh --sdist-mode | |
| uv run bash -lc 'cd docs && make' | |
| # On Windows, just install the package and run tests for now, we need to port the pr-check script to windows | |
| - name: Run tests and other checks | |
| if: runner.os == 'Windows' | |
| run: | | |
| uv run python -m pytest -v | |
| # - uses: codecov/codecov-action@v1 |