Skip to content

fix(plugin-grid): the cross-page select-all banner works under external pagination (#4464) #1164

fix(plugin-grid): the cross-page select-all banner works under external pagination (#4464)

fix(plugin-grid): the cross-page select-all banner works under external pagination (#4464) #1164

Workflow file for this run

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