name: Quality Checks on: workflow_call: jobs: 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 - name: Check Header Compliance run: copywrite headers --plan --config .copywrite.hcl quality: runs-on: ubuntu-latest strategy: fail-fast: false matrix: check: [format, lint, basedpyright] include: - check: format name: "Format Check" command: "uv run ruff format --check ." - check: lint name: "Lint Check" command: "uv run ruff check ." - check: basedpyright name: "Type Check" command: "uv run basedpyright ." name: ${{ matrix.name }} steps: - uses: actions/checkout@v6 - name: "Install uv" uses: astral-sh/setup-uv@v6 with: enable-cache: true - name: "Set up Python" uses: actions/setup-python@v5 with: python-version-file: "pyproject.toml" - name: Install dependencies run: uv sync - name: ${{ matrix.name }} run: ${{ matrix.command }}