Add changelog entry #16
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: Checks | ||
| on: | ||
| workflow_call: | ||
| jobs: | ||
| Version-Check: | ||
| name: Version | ||
| runs-on: "ubuntu-24.04" | ||
| permissions: | ||
| contents: read | ||
| steps: | ||
| - name: SCM Checkout | ||
| uses: actions/checkout@v6 | ||
| with: | ||
| fetch-depth: 0 | ||
| - name: Setup Python & Poetry Environment | ||
| uses: ./.github/actions/python-environment | ||
| with: | ||
| python-version: "3.10" | ||
| poetry-version: "2.3.0" | ||
| - name: Check Version(s) | ||
| run: poetry run -- nox -s version:check | ||
| Documentation: | ||
| name: Docs | ||
| needs: [ Version-Check ] | ||
| runs-on: "ubuntu-24.04" | ||
| permissions: | ||
| contents: read | ||
| steps: | ||
| - name: SCM Checkout | ||
| uses: actions/checkout@v6 | ||
| - name: Setup Python & Poetry Environment | ||
| uses: ./.github/actions/python-environment | ||
| with: | ||
| python-version: "3.10" | ||
| poetry-version: "2.3.0" | ||
| - name: Build Documentation | ||
| run: | | ||
| poetry run -- nox -s docs:build | ||
| - name: Link Check | ||
| run: | | ||
| poetry run -- nox -s links:check | ||
| build-matrix: | ||
| name: Generate Build Matrix | ||
| uses: ./.github/workflows/matrix-python.yml | ||
| permissions: | ||
| contents: read | ||
| Changelog: | ||
| name: Changelog Update Check | ||
| runs-on: "ubuntu-24.04" | ||
| permissions: | ||
| contents: read | ||
| if: ${{ github.ref != 'refs/heads/main' && github.ref != 'refs/heads/master' }} | ||
| steps: | ||
| - name: SCM Checkout | ||
| uses: actions/checkout@v6 | ||
| - name: Setup Python & Poetry Environment | ||
| uses: ./.github/actions/python-environment | ||
| with: | ||
| python-version: "3.10" | ||
| poetry-version: "2.3.0" | ||
| - name: Run changelog update check | ||
| run: poetry run -- nox -s changelog:updated | ||
| Lint: | ||
| name: Linting (Python-${{ matrix.python-version }}) | ||
| needs: [ Version-Check, build-matrix ] | ||
| runs-on: "ubuntu-24.04" | ||
| permissions: | ||
| contents: read | ||
| strategy: | ||
| fail-fast: false | ||
| matrix: ${{ fromJson(needs.build-matrix.outputs.matrix) }} | ||
| steps: | ||
| - name: SCM Checkout | ||
| uses: actions/checkout@v6 | ||
| - name: Setup Python & Poetry Environment | ||
| uses: ./.github/actions/python-environment | ||
| with: | ||
| python-version: ${{ matrix.python-version }} | ||
| poetry-version: "2.3.0" | ||
| - name: Run lint | ||
| run: poetry run -- nox -s lint:code | ||
| - name: Upload Artifacts | ||
| uses: actions/upload-artifact@v6 | ||
| with: | ||
| name: lint-python${{ matrix.python-version }} | ||
| path: | | ||
| .lint.txt | ||
| .lint.json | ||
| include-hidden-files: true | ||
| Type-Check: | ||
| name: Type Checking (Python-${{ matrix.python-version }}) | ||
| needs: [ Version-Check, build-matrix ] | ||
| runs-on: "ubuntu-24.04" | ||
| permissions: | ||
| contents: read | ||
| strategy: | ||
| fail-fast: false | ||
| matrix: ${{ fromJson(needs.build-matrix.outputs.matrix) }} | ||
| steps: | ||
| - name: SCM Checkout | ||
| uses: actions/checkout@v6 | ||
| - name: Setup Python & Poetry Environment | ||
| uses: ./.github/actions/python-environment | ||
| with: | ||
| python-version: ${{ matrix.python-version }} | ||
| poetry-version: "2.3.0" | ||
| - name: Run type-check | ||
| run: poetry run -- nox -s lint:typing | ||
| Security: | ||
| name: Security Checks (Python-${{ matrix.python-version }}) | ||
| needs: [ Version-Check, build-matrix ] | ||
| runs-on: "ubuntu-24.04" | ||
| permissions: | ||
| contents: read | ||
| strategy: | ||
| fail-fast: false | ||
| matrix: ${{ fromJson(needs.build-matrix.outputs.matrix) }} | ||
| steps: | ||
| - name: SCM Checkout | ||
| uses: actions/checkout@v6 | ||
| - name: Setup Python & Poetry Environment | ||
| uses: ./.github/actions/python-environment | ||
| with: | ||
| python-version: ${{ matrix.python-version }} | ||
| poetry-version: "2.3.0" | ||
| - name: Run security linter | ||
| run: poetry run -- nox -s lint:security | ||
| - name: Upload Artifacts | ||
| uses: actions/upload-artifact@v6 | ||
| with: | ||
| name: security-python${{ matrix.python-version }} | ||
| path: .security.json | ||
| include-hidden-files: true | ||
| Format: | ||
| name: Format Check | ||
| runs-on: "ubuntu-24.04" | ||
| permissions: | ||
| contents: read | ||
| steps: | ||
| - name: SCM Checkout | ||
| uses: actions/checkout@v6 | ||
| - name: Setup Python & Poetry Environment | ||
| uses: ./.github/actions/python-environment | ||
| - name: Run format check | ||
| run: poetry run -- nox -s format:check | ||
| with: | ||
| python-version: "3.10" | ||
| poetry-version: "2.3.0" | ||
| Build-Packages: | ||
| name: Build Package Check | ||
| needs: [ Documentation, Lint, Type-Check, Security, Format ] | ||
| runs-on: "ubuntu-24.04" | ||
| permissions: | ||
| contents: read | ||
| steps: | ||
| - name: SCM Checkout | ||
| uses: actions/checkout@v6 | ||
| - name: Setup Python & Poetry Environment | ||
| uses: ./.github/actions/python-environment | ||
| with: | ||
| python-version: "3.10" | ||
| poetry-version: "2.3.0" | ||
| - name: Run Distribution Check | ||
| run: poetry run -- nox -s package:check | ||
| Lint-Imports: | ||
| name: Lint Imports | ||
| runs-on: ubuntu-24.04 | ||
| permissions: | ||
| contents: read | ||
| steps: | ||
| - name: SCM Checkout | ||
| uses: actions/checkout@v6 | ||
| - name: Setup Python & Poetry Environment | ||
| uses: ./.github/actions/python-environment | ||
| with: | ||
| python-version: "3.10" | ||
| poetry-version: "2.3.0" | ||
| - name: Run import linter | ||
| run: poetry run -- nox -s lint:import | ||
| Tests: | ||
| name: Unit-Tests (Python-${{ matrix.python-version }}) | ||
| needs: [ Build-Packages, Lint-Imports, build-matrix ] | ||
| runs-on: "ubuntu-24.04" | ||
| permissions: | ||
| contents: read | ||
| strategy: | ||
| fail-fast: false | ||
| matrix: ${{ fromJson(needs.build-matrix.outputs.matrix) }} | ||
| steps: | ||
| - name: SCM Checkout | ||
| uses: actions/checkout@v6 | ||
| # The PTB has unit tests which require the fetch-depth to be 0. | ||
| with: | ||
| fetch-depth: 0 | ||
| - name: Setup Python & Poetry Environment | ||
| uses: ./.github/actions/python-environment | ||
| with: | ||
| python-version: ${{ matrix.python-version }} | ||
| poetry-version: "2.3.0" | ||
| - name: Run Tests and Collect Coverage | ||
| run: poetry run -- nox -s test:unit -- --coverage | ||
| - name: Upload Artifacts | ||
| uses: actions/upload-artifact@v6 | ||
| with: | ||
| name: coverage-python${{ matrix.python-version }}-fast | ||
| path: .coverage | ||
| include-hidden-files: true | ||