name: Quality Checks on: workflow_call: workflow_dispatch: jobs: quality: runs-on: ubuntu-latest strategy: fail-fast: false matrix: check: [format, lint] include: - check: format name: "Format Check" command: "uv run ruff format --check ." - check: lint name: "Lint Check" command: "uv run ruff check ." - check: type name: "Type Check" command: "uv run ty check ." name: ${{ matrix.name }} steps: - uses: actions/checkout@v6 - name: Install the latest version of uv uses: astral-sh/setup-uv@v7 with: enable-cache: "auto" - name: Install dependencies run: uv sync - name: ${{ matrix.name }} run: ${{ matrix.command }} check-license-header: name: License Header Check runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v6 - name: Setup Copywrite uses: hashicorp/setup-copywrite@32f9f1c86f661b8a51100768976a06f1b281a035 #v1.1.3 - name: Check Header Compliance run: copywrite headers --plan --config .copywrite.hcl