Skip to content

Add changelog entry #16

Add changelog entry

Add changelog entry #16

Workflow file for this run

name: Checks

Check failure on line 1 in .github/workflows/checks.yml

View workflow run for this annotation

GitHub Actions / .github/workflows/checks.yml

Invalid workflow file

(Line: 174, Col: 9): Unexpected value 'with'
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