Switch CI and docs build to UV #363
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: | |
| push: | |
| branches: | |
| - master | |
| pull_request: | |
| jobs: | |
| dist: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - run: pipx install gettext | |
| - uses: astral-sh/setup-uv@v7 | |
| - run: uvx --from build pyproject-build --sdist --wheel | |
| - run: uvx twine check dist/* | |
| - uses: actions/upload-artifact@v6 | |
| with: | |
| path: dist/* | |
| docs: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - run: pipx install gettext | |
| - uses: astral-sh/setup-uv@v7 | |
| - run: uv run mkdocs build --strict | |
| SQLite: | |
| needs: [dist, docs] | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| python-version: | |
| - "3.10" | |
| - "3.11" | |
| - "3.12" | |
| - "3.13" | |
| - "3.14" | |
| django-version: | |
| - "4.2" | |
| - "5.2" | |
| - "6.0" | |
| exclude: | |
| - python-version: "3.14" | |
| django-version: "4.2" | |
| - python-version: "3.10" | |
| django-version: "6.0" | |
| - python-version: "3.11" | |
| django-version: "6.0" | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - run: pipx install gettext | |
| - uses: astral-sh/setup-uv@v7 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - run: uv run --with django~=${{ matrix.django-version }}.0 pytest | |
| - uses: codecov/codecov-action@v5 | |
| with: | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| flags: python-${{ matrix.python-version }} | |
| wagtail: | |
| needs: [dist, docs] | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| wagtail-version: | |
| - "6.3" | |
| - "7.0" | |
| - "7.1" | |
| - "7.2" | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - run: pipx install gettext | |
| - uses: astral-sh/setup-uv@v7 | |
| - run: uv run --extra wagtail --with wagtail~=${{ matrix.wagtail-version }}.0 --with django~=5.2.0 pytest | |
| - uses: codecov/codecov-action@v5 | |
| with: | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| flags: ${{ matrix.extras }} | |
| PostgreSQL: | |
| needs: [dist, docs] | |
| runs-on: ubuntu-latest | |
| services: | |
| postgres: | |
| image: postgres | |
| env: | |
| POSTGRES_USER: django | |
| POSTGRES_PASSWORD: django | |
| ports: | |
| - 5432/tcp | |
| options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - run: pipx install gettext | |
| - run: psql template1 -c "CREATE EXTENSION citext;" | |
| env: | |
| PGHOST: localhost | |
| PGPORT: ${{ job.services.postgres.ports[5432] }} | |
| PGUSER: django | |
| PGPASSWORD: django | |
| - uses: astral-sh/setup-uv@v7 | |
| - run: uv run --extra postgres pytest | |
| env: | |
| DB_PORT: ${{ job.services.postgres.ports[5432] }} | |
| DB: pg | |
| - uses: codecov/codecov-action@v5 | |
| with: | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| flags: ${{ matrix.extras }} |