name: Quality Checks on: workflow_call: jobs: quality: runs-on: ubuntu-latest strategy: fail-fast: false matrix: check: [format, lint, typecheck, build] include: - check: format name: 'Format Check' command: 'pnpm prettier --check .' - check: lint name: 'Lint Check' command: 'pnpm eslint .' - check: typecheck name: 'Type Check' command: 'pnpm check' - check: build name: 'Build Check' command: 'pnpm build' name: ${{ matrix.name }} steps: - name: Checkout repository uses: actions/checkout@v4 - name: Setup pnpm uses: pnpm/action-setup@v4 with: version: 9 - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: '20' cache: 'pnpm' - name: Install dependencies run: pnpm install --frozen-lockfile - name: ${{ matrix.name }} run: ${{ matrix.command }}