fix(form): declare the runtime field metadata slot, ban the spec FormField misimport (#3090 PR3a) #357
Workflow file for this run
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: Lint | |
| # Until #2923 this workflow was `workflow_dispatch`-only, so ESLint had never | |
| # gated a PR. That mattered more than it looked: `eslint.config.js` sets three | |
| # `object-ui/*` rules to `error` *specifically* so a new violation fails CI | |
| # (ADR-0054 Phase 5, #2879, and the objectql.ts ratchet), and each author | |
| # pre-cleaned the existing sites so the rule would lint clean. All three | |
| # ratchets were inert because nothing ran them. | |
| # | |
| # `--max-warnings` is deliberately not set: the 7,724 warnings repo-wide are 81% | |
| # `no-explicit-any`, plus React Compiler rules the config downgrades on purpose. | |
| # This gate is about errors. | |
| on: | |
| push: | |
| branches: [main, develop] | |
| paths-ignore: | |
| - '**/*.md' | |
| - 'content/**' | |
| - 'docs/**' | |
| - '.changeset/**' | |
| pull_request: | |
| branches: [main, develop] | |
| paths-ignore: | |
| - '**/*.md' | |
| - 'content/**' | |
| - 'docs/**' | |
| - '.changeset/**' | |
| workflow_dispatch: | |
| concurrency: | |
| group: lint-${{ github.ref }} | |
| cancel-in-progress: true | |
| permissions: | |
| contents: read | |
| jobs: | |
| lint: | |
| name: Lint | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v7 | |
| with: | |
| submodules: true | |
| - name: Enable Corepack | |
| run: corepack enable | |
| - name: Verify pnpm version | |
| run: pnpm --version | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v7 | |
| with: | |
| node-version: '22.x' | |
| cache: 'pnpm' | |
| # Every package must run ESLint or be declared a known gap. turbo skips | |
| # scriptless packages silently, so without this a package reads as clean | |
| # because nothing linted it. Runs before install: only reads package.json. | |
| - name: Verify lint coverage | |
| run: node scripts/check-lint-coverage.mjs | |
| - name: Turbo Cache | |
| uses: actions/cache@v6 | |
| with: | |
| path: node_modules/.cache/turbo | |
| key: turbo-${{ runner.os }}-${{ github.sha }} | |
| restore-keys: | | |
| turbo-${{ runner.os }}- | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: Run linter | |
| run: pnpm lint |