fix(plugin-calendar): allowCreate works and colorMapping is retired (… #1222
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: Docs Links | |
| # Why this is its own workflow instead of a step in `ci.yml`'s `docs` job, which | |
| # is where this check lived when it first reached CI (#3213 / #3292, PR #3450): | |
| # `ci.yml` THEN listed `'**/*.md'`, `content/**`, `docs/**` and `apps/site/**` | |
| # under the `paths-ignore` of both its triggers, and GitHub has no per-job path | |
| # filter. The published site is built from `content/docs/**`, so a docs-ONLY | |
| # pull request matched every ignore pattern, started no workflow at all, and was | |
| # never link-checked — while a docs-only PR is the likeliest way an internal link | |
| # breaks in the first place. The step therefore only ever saw PRs that touched | |
| # docs *alongside code*, plus pushes to `main`; a broken link could land through | |
| # a pure-docs PR and only turn `main` red later, under an unrelated author | |
| # (#3448). | |
| # | |
| # Read that paragraph as history, and do not act on its present tense — the | |
| # lead-in used to be written as one, which is what objectui#4381 corrected. | |
| # objectui#3523 step 2 deleted `paths-ignore` from `ci.yml`'s `pull_request` | |
| # trigger; it survives ONLY on `push`. A docs-only PR therefore DOES start | |
| # `ci.yml` today and DOES produce its contexts — measured: PR #3856 (one markdown | |
| # file) 16 checks, PR #4339 (one line added to AGENTS.md) 17. objectui#3857 | |
| # pinned that correction after an author acted on the old sentence and got the | |
| # opposite result. Nor would the in-job switch keep a link check out the way it | |
| # keeps the changeset gates out: `ci.yml`'s `docs` job gates its steps on | |
| # `apps/site/` or `content/` having CHANGED, which a docs-only PR satisfies. | |
| # | |
| # Two reasons outlived that premise, and they are why nothing moves back. | |
| # `ci.yml` still filters its `push` lane, so a docs-only push to `main` starts it | |
| # not at all and this workflow is the only thing that link-checks that merge. And | |
| # #3448 settled one gate, one home: this workflow's trigger set is a strict | |
| # superset of that job's, so a copy there could only add a second red check for | |
| # one broken link, and a second place to forget. | |
| # | |
| # `control-bytes.yml` hit the same wall and its header names the consequence: a | |
| # gate that cannot see a markdown-only PR "rebuilds the hole it exists to close". | |
| # `changeset-guard.yml` is the second instance of the shape in this repo. | |
| # | |
| # Hence: no `paths` and no `paths-ignore` here, deliberately. | |
| # `scripts/__tests__/docs-links-workflow.test.ts` fails if either is ever added. | |
| # A `paths: content/**` filter would look tighter and buy nothing measurable: the | |
| # whole run is a checkout plus one `node` call — no install, no network, a few | |
| # seconds — and the filter would be a second, drift-prone copy of the script's | |
| # own scan surface. Keep it that way if you add checks here. | |
| on: | |
| pull_request: | |
| branches: [main, develop] | |
| push: | |
| branches: [main, develop] | |
| # Merge queue (objectui#3523 — see `ci.yml`'s trigger block for the full note | |
| # and the measurements behind it). This repository's queue is enforced by a | |
| # ruleset but had zero `merge_group` subscribers, so its required-check set | |
| # could only ever be empty. This gate is one of the two the audit found safe | |
| # to require today — deliberately unfiltered, so it reports on every shape of | |
| # pull request — and a required check that does not report on a queue build | |
| # stalls the queue until the ruleset's 60-minute timeout fails it. `types:` is | |
| # named although `checks_requested` is currently the only one GitHub defines. | |
| merge_group: | |
| types: [checks_requested] | |
| workflow_dispatch: | |
| concurrency: | |
| group: docs-links-${{ github.event.pull_request.number || github.ref }} | |
| cancel-in-progress: true | |
| permissions: | |
| contents: read | |
| jobs: | |
| docs-links: | |
| name: Internal Docs Link Check | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 5 | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v7 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v7 | |
| with: | |
| node-version: '22.x' | |
| # Resolves every relative / `/docs/...` markdown link found in | |
| # `content/docs/**` against the files actually on disk. Reads the checkout | |
| # and nothing else, so no install is required. External URLs are a | |
| # different problem with a different tool — Lychee, in `check-links.yml`, | |
| # which sweeps both `content/docs/` and `docs/` on a weekly cron and on | |
| # demand, and deliberately gates nothing (#3449 fixed its scope; #3213 | |
| # decided it stays off pull requests). | |
| - name: Check internal docs links | |
| run: node scripts/check-doc-links.mjs |