name: CI
on:
  push:
    branches: [main]
  pull_request:

jobs:
  lint:
    name: Lint
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-python@v5
      - run: pip install nox "attrs>=24.1.0" # attrs required till next nox release: https://github.com/wntrblm/nox/issues/961
      - run: nox -s lint
  package:
    name: Package
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-python@v5
      - run: pip install nox "attrs>=24.1.0" # attrs required till next nox release: https://github.com/wntrblm/nox/issues/961
      - run: nox -s release -- --version '' --repo '' --prebump ''
  test:
    name: Test
    runs-on: ubuntu-latest
    needs: [lint]
    strategy:
      fail-fast: true
      matrix:
        python:
          - "3.13"
          - "3.12"
          - "3.11"
          - "3.10"
          - "3.9"
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-python@v5
        with:
          python-version: ${{ matrix.python }}
          allow-prereleases: true
      - run: pip install nox "attrs>=24.1.0" # attrs required till next nox release: https://github.com/wntrblm/nox/issues/961
      - run: nox -s tests-${{ matrix.python }}
