Skip to content

ci: require a changeset on PRs to main (and backfill the runtime-rule note) - #53

Merged
thecodedrift merged 2 commits into
mainfrom
jakob/changeset-governance
Jul 6, 2026
Merged

ci: require a changeset on PRs to main (and backfill the runtime-rule note)#53
thecodedrift merged 2 commits into
mainfrom
jakob/changeset-governance

Conversation

@thecodedrift

@thecodedrift thecodedrift commented Jul 6, 2026

Copy link
Copy Markdown
Member

Two changeset-governance fixes prompted by the runtime-rule work landing without a changeset.

1. Backfill the missed release note

#47/#49/#50 (server-owned reconciliation + the runtime-rule harness) merged with no changeset, so the feature wouldn't appear in the changelog or drive a bump. Adds a minor changeset describing it. Combined with the version-header changeset in #52, this lands as 0.10.0 — which is exactly the CLI version the service gates runtime-rule delivery on.

2. Require a changeset going forward

New require-changeset.yml: a PR to main that adds no .changeset/<name>.md fails, so a missed changeset is caught in CI (self-contained bash check, like the OpenSpec archive check — no install step).

  • Escape hatch: apply the skip-changeset label for PRs that legitimately ship no release note (docs / CI / chore). The job always runs and reports a status (the label is checked inside the step, not via a job-level if), so it's safe to add as a required status check without blocking merges on a skipped job.
  • This PR self-satisfies the new check, since it adds a changeset.

Notes for reviewers

  • If you later adopt the Changesets "Version Packages" release PR (which consumes changesets and has none), label it skip-changeset or exclude the bot.
  • Suggest marking Require a changeset as a required check in branch protection once this merges.

The runtime-rule-execution work (server-owned reconciliation + the local runtime
harness) landed across #47/#49/#50 without a changeset, so it would not appear in
the changelog or drive a version bump. Backfill a minor changeset so the 0.10.0
release records it.

Refs TSKL-245.
Add a self-contained workflow that fails a PR to main which adds no
.changeset/<name>.md, so a missed changeset (as happened for the
runtime-rule-execution stack) is caught in CI. A PR that legitimately needs no
release note can carry a 'skip-changeset' label; the job always runs and reports
a status, so it's safe to mark as a required check.
Copilot AI review requested due to automatic review settings July 6, 2026 21:13

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR tightens Changesets governance for the repo by (1) backfilling a missing release note for the runtime-rule work and (2) adding a CI workflow that enforces the presence of a new changeset on PRs targeting main, with an explicit label-based escape hatch.

Changes:

  • Add a Require Changeset GitHub Actions workflow that fails PRs to main when no new .changeset/*.md file is added, unless the skip-changeset label is present.
  • Add a minor changeset describing the previously-landed server-owned reconciliation + runtime rule execution work to ensure it appears in the changelog and drives the intended version bump.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
.github/workflows/require-changeset.yml Adds a PR-to-main guard that requires a newly added changeset file, with a skip-changeset label escape hatch while always reporting a status.
.changeset/runtime-rule-execution.md Backfills the missing minor release note for runtime rule execution and reconciliation so the release bump/changelog reflect the shipped capability.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@thecodedrift
thecodedrift merged commit ec8c584 into main Jul 6, 2026
7 checks passed
@thecodedrift
thecodedrift deleted the jakob/changeset-governance branch July 6, 2026 22:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants