fix(plugin-grid): the cross-page select-all banner works under external pagination (#4464) #1164
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: Changeset Guard | |
| # Why this is its own workflow instead of a job in `ci.yml`: on a PR that adds | |
| # only a changeset, every gate inside `ci.yml` and `lint.yml` skips, so nothing | |
| # in either of them ever reads the changeset — which is exactly the PR this check | |
| # needs to see. It has to run outside that decision. | |
| # | |
| # That is no longer the reason this header used to give. It said both `ci.yml` | |
| # and `lint.yml` list `'**/*.md'` AND `.changeset/**` under `paths-ignore`, so a | |
| # changeset-only PR "starts no workflow at all". objectui#3523 step 2 deleted | |
| # `paths-ignore` from their `pull_request` trigger; it remains ONLY on `push`. | |
| # Such a PR does start both workflows and does produce their contexts — measured: | |
| # PR #3856 (one markdown file) 16 checks, PR #4339 (one line added to AGENTS.md) | |
| # 17. The correction is objectui#3857; an author had already acted on the old | |
| # sentence and got the opposite result. | |
| # | |
| # What #3523 moved rather than deleted is the path DECISION: it is now the | |
| # `Decide whether this change needs a full run` step in `ci.yml`, with a twin in | |
| # `lint.yml`, and its exclusion list is that `push` filter unchanged — | |
| # `'**/*.md'` and `.changeset/**` included, held identical to it by | |
| # `scripts/__tests__/merge-queue-reporting.test.ts`. Both workflows therefore | |
| # start, report, and skip every expensive step on precisely this PR. GitHub has | |
| # no per-job path filter either, so the gate lives here, with the inverse | |
| # trigger: it runs *only* when `.changeset/**` changes. | |
| # | |
| # It needs no install and no build — a checkout plus one `node` call, a few | |
| # seconds — so keep it that way if you add checks to it. | |
| on: | |
| pull_request: | |
| branches: [main, develop] | |
| paths: | |
| - '.changeset/**' | |
| push: | |
| branches: [main] | |
| paths: | |
| - '.changeset/**' | |
| concurrency: | |
| group: changeset-guard-${{ github.event.pull_request.number || github.ref }} | |
| cancel-in-progress: true | |
| permissions: | |
| contents: read | |
| jobs: | |
| no-major: | |
| name: Changeset Bump Policy | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 5 | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v7 | |
| # One `major` in the 39-package `fixed` group publishes all 39 as the next | |
| # major, taking objectui off the `@objectstack` major it is pinned to. | |
| # See AGENTS.md §版本号策略, and the script's header for the full rationale. | |
| - name: Verify no changeset declares a major bump | |
| run: node scripts/check-changeset-no-major.mjs |