chore(deps): update pre-commit hooks #390
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: | |
| workflow_dispatch: | |
| pull_request: | |
| push: | |
| branches: | |
| - main | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| env: | |
| # Many color libraries just need this variable to be set to any value. | |
| # Set it to 3 to support 8-bit color graphics (256 colors per channel) | |
| # for libraries that care about the value set. | |
| FORCE_COLOR: 3 | |
| jobs: | |
| lint: | |
| name: Format | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| with: | |
| fetch-depth: 0 | |
| - uses: actions/setup-python@v6 | |
| with: | |
| python-version: "3.x" | |
| - uses: astral-sh/setup-uv@v7 | |
| - uses: j178/prek-action@v2 | |
| - name: Run Pylint | |
| run: uvx nox -s pylint -- --output-format=github | |
| checks: | |
| name: Check Python ${{ matrix.python-version }} on ${{ matrix.runs-on }} | |
| runs-on: ${{ matrix.runs-on }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| python-version: ["3.11", "3.14"] | |
| runs-on: [ubuntu-latest, windows-latest, macos-latest, macos-15-intel] | |
| include: | |
| - python-version: "pypy-3.11" | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| with: | |
| fetch-depth: 0 | |
| - name: Install OpenBLAS | |
| if: runner.os == 'Linux' && startsWith(matrix.python-version, 'pypy') | |
| run: sudo apt-get update && sudo apt-get install -y libopenblas-dev | |
| - name: Install uv and set the python version | |
| uses: astral-sh/setup-uv@v7 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| activate-environment: true | |
| - name: Install package | |
| run: uv sync | |
| - name: Test package | |
| run: >- | |
| uv run pytest -ra --cov --cov-report=xml --cov-report=term | |
| --durations=20 | |
| - name: Upload coverage report | |
| uses: codecov/codecov-action@v7 | |
| with: | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| pass: | |
| if: always() | |
| needs: [lint, checks] | |
| runs-on: ubuntu-slim | |
| timeout-minutes: 2 | |
| steps: | |
| - name: Decide whether the needed jobs succeeded or failed | |
| uses: re-actors/alls-green@release/v1 | |
| with: | |
| jobs: ${{ toJSON(needs) }} |