fix(fields): #3343 AddressField/GeolocationField 子输入改用 useId() 前缀 id,消除同表单重复 DOM id #713
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: every `object-ui/*` rule that | |
| # `eslint.config.js` sets to `error` is a ratchet — added *specifically* so a | |
| # new violation fails CI, with its existing sites pre-cleaned first so the rule | |
| # lints clean on the day it lands. While nothing ran them, every one of them was | |
| # inert. | |
| # | |
| # `eslint.config.js` is the single list of those rules, and this comment | |
| # deliberately neither counts them nor names them: it used to hand-count, and | |
| # the count was stale by the time anyone read it (#3261). A hand-copied | |
| # enumeration drifts by construction, and a stale one still reads as | |
| # authoritative — `content/docs/guide/ci-cd-pipeline.md` avoids the number for | |
| # the same reason. `scripts/__tests__/lint-workflow.test.ts` holds that in | |
| # place: it fails if a count or a rule name reappears here, if the config stops | |
| # setting any `object-ui/*` rule to `error`, or if this workflow stops gating | |
| # pull requests. | |
| # | |
| # `--max-warnings` is deliberately not set: warnings repo-wide run into the | |
| # thousands, dominated by `no-explicit-any` plus React Compiler rules the config | |
| # downgrades on purpose — known historical debt, not a signal. This gate is | |
| # about errors. No exact figure here, for the reason above: this paragraph used | |
| # to carry a hand-maintained warning count and percentage that nothing | |
| # recomputed and nothing alarmed on as they aged (#3274), and | |
| # `scripts/check-lint-coverage.mjs` held a copy of the same number that would | |
| # have gone stale on its own clock. The order of magnitude is the whole | |
| # argument; the integer never was. | |
| 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: .turbo/cache | |
| 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 |