CI Lint #23340
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: CI Lint | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| # Observability has its own lint workflow (observability-diff.yml's | |
| # `lint` job) that runs the full lint script — including the prettier | |
| # YAML check. Skipping ci-lint on observability-only PRs avoids ~5 min | |
| # of unrelated lint work; coverage on observability changes lives in | |
| # the dedicated workflow. Deny-list rather than allow-list so adding | |
| # a new package automatically gets linted (the inverse failure mode — | |
| # silently skipping lint for a new package — is worse). | |
| paths-ignore: | |
| - "packages/observability/**" | |
| concurrency: | |
| group: ci-lint-${{ github.head_ref || github.run_id }} | |
| cancel-in-progress: true | |
| permissions: | |
| checks: write | |
| contents: read | |
| id-token: write | |
| pull-requests: write | |
| jobs: | |
| lint: | |
| name: Lint | |
| runs-on: ubuntu-latest | |
| concurrency: | |
| group: lint-${{ github.head_ref || github.run_id }} | |
| cancel-in-progress: true | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - uses: ./.github/actions/init | |
| - name: Lint Boxel Icons | |
| if: ${{ !cancelled() }} | |
| run: pnpm run lint | |
| working-directory: packages/boxel-icons | |
| - name: Restore boxel-icons build cache | |
| id: icons-cache | |
| if: ${{ !cancelled() }} | |
| uses: ./.github/actions/restore-icons-cache | |
| - name: Build Boxel Icons | |
| # To faciliate linting of projects that depend on Boxel Icons | |
| if: ${{ !cancelled() && steps.icons-cache.outputs.cache-hit != 'true' }} | |
| run: pnpm run build | |
| working-directory: packages/boxel-icons | |
| - name: Lint Boxel UI | |
| if: ${{ !cancelled() }} | |
| run: pnpm run lint | |
| working-directory: packages/boxel-ui/addon | |
| - name: Build Boxel UI | |
| # To faciliate linting of projects that depend on Boxel UI | |
| if: ${{ !cancelled() }} | |
| run: pnpm run build | |
| working-directory: packages/boxel-ui/addon | |
| - name: Lint Boxel UI Test App | |
| if: ${{ !cancelled() }} | |
| run: pnpm run lint | |
| working-directory: packages/boxel-ui/test-app | |
| - name: Lint Host | |
| if: ${{ !cancelled() }} | |
| run: pnpm run lint | |
| working-directory: packages/host | |
| - name: Lint Matrix | |
| if: ${{ !cancelled() }} | |
| run: pnpm run lint | |
| working-directory: packages/matrix | |
| - name: Lint Realm Server | |
| if: ${{ !cancelled() }} | |
| run: pnpm run lint | |
| working-directory: packages/realm-server | |
| - name: Lint Realm Test Harness | |
| if: ${{ !cancelled() }} | |
| run: pnpm run lint | |
| working-directory: packages/realm-test-harness | |
| - name: Lint Runtime Common | |
| if: ${{ !cancelled() }} | |
| run: pnpm run lint | |
| working-directory: packages/runtime-common | |
| - name: Lint Billing | |
| if: ${{ !cancelled() }} | |
| run: pnpm run lint | |
| working-directory: packages/billing | |
| - name: Lint Postgres | |
| if: ${{ !cancelled() }} | |
| run: pnpm run lint | |
| working-directory: packages/postgres | |
| - name: Lint Base Realm | |
| if: ${{ !cancelled() }} | |
| run: pnpm run lint | |
| working-directory: packages/base | |
| - name: Lint Experiments Realm | |
| if: ${{ !cancelled() }} | |
| run: pnpm run lint | |
| working-directory: packages/experiments-realm | |
| - name: Lint Software Factory | |
| if: ${{ !cancelled() }} | |
| run: pnpm run lint | |
| working-directory: packages/software-factory | |
| - name: Lint Boxel Tools VS Code extension | |
| if: ${{ !cancelled() }} | |
| run: pnpm run lint | |
| working-directory: packages/vscode-boxel-tools | |
| - name: Lint ESLint Plugin | |
| if: ${{ !cancelled() }} | |
| run: pnpm run lint | |
| working-directory: packages/eslint-plugin-boxel | |
| - name: Lint AI Bot | |
| if: ${{ !cancelled() }} | |
| run: pnpm run lint | |
| working-directory: packages/ai-bot | |
| - name: Lint Bot Runner | |
| if: ${{ !cancelled() }} | |
| run: pnpm run lint | |
| working-directory: packages/bot-runner | |
| - name: Lint Boxel CLI | |
| if: ${{ !cancelled() }} | |
| run: pnpm run lint | |
| working-directory: packages/boxel-cli |