Skip to content

chore(release): align credentials and document the compatibility policy - #43

Merged
steve-calvert-glean merged 3 commits into
mainfrom
chore/release-tooling
Oct 21, 2026
Merged

steve-calvert-glean merged 3 commits into
mainfrom
chore/release-tooling

Conversation

@steve-calvert-glean

Copy link
Copy Markdown
Contributor

Problem

The release docs and config disagreed with each other and with the repository. RELEASE.md told maintainers to export GITHUB_AUTH, but release-it read GITHUB_TOKEN, so following the docs silently turned the GitHub release into a manual browser step. RELEASE.md also claimed the label check ran in ci.yml and blocked merges; it runs in pr-label.yml and blocked nothing. Nothing stopped a release from a branch other than main. The docs generator accepted a new command with no examples or exit codes. There was no written policy for how an upstream host format change ships.

Change

  • release-it reads GITHUB_AUTH, the same variable lerna-changelog uses, and requires the main branch.
  • RELEASE.md describes the real gate: main requires test (22.12.0), test (24) and labels; admins can bypass; reviews are not required. It documents the bot exemption, says that only five labels appear in the changelog, and says to pass the increment explicitly (npm run release -- minor) for breaking 0.x releases.
  • The label workflow still accepts any repository label (the intent of Derive accepted PR labels from the repository #33), and now warns when none of the PR's labels appear in the changelog.
  • RELEASE.md gains an output-compatibility policy. An upstream format change ships as a new opt-in format value in a minor release. The default changes only in a major release. Each target lists the evidence it was verified against. It also adds a narrow patch-release exception for correctness fixes that change output.
  • The three dev-only overrides are removed. The production dependency tree is byte-identical (npm ls --omit=dev --all), and npm audit --omit=dev still reports zero vulnerabilities.
  • pluginpack docs fails when a command lacks examples or exit codes.

Testing

npm run check passes. New tests cover the docs-generator guards and the label workflow, including a PR labeled only question.

Use the documented token variable for both release steps and require the main branch. Production dependencies already pass the audit, so let development tools resolve their declared dependency ranges instead of overriding them.
Document the required checks and their bypass behavior. Preserve repository-derived label acceptance while warning about labels omitted from release notes. Define correctness-fix versioning and opt-in host format migrations, with verification limits taken from the target citations.
Fail documentation generation when a command lacks examples or exit-code guidance. Name the missing case and its source file so new commands cannot silently publish incomplete reference sections.
@steve-calvert-glean steve-calvert-glean added the internal Internal refactoring, cleanup, or maintenance work label Oct 21, 2026
@steve-calvert-glean
steve-calvert-glean marked this pull request as ready for review October 21, 2026 23:54
@steve-calvert-glean
steve-calvert-glean merged commit fbea58f into main Oct 21, 2026
4 checks passed
@steve-calvert-glean
steve-calvert-glean deleted the chore/release-tooling branch October 21, 2026 23:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

internal Internal refactoring, cleanup, or maintenance work

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant