Skip to content

contributing: changelog entries are written on main at merge; a guard fails pull requests that edit the file - #623

Merged
lywinged merged 1 commit into
agentrust-io:mainfrom
lywinged:changelog-at-merge
Oct 27, 2026
Merged

lywinged merged 1 commit into
agentrust-io:mainfrom
lywinged:changelog-at-merge

Conversation

@lywinged

Copy link
Copy Markdown
Collaborator

What this changes

Open pull requests that each add an entry under [Unreleased] in CHANGELOG.md conflict with main and with each other as soon as one of them merges, in that file and nowhere else. Five did this week (#537, #608, #610, #618, #619), and one of them has been rebased three times for the file alone. The ruling already given on #486 on 12 October, that entries are written at merge so open pull requests stop conflicting on the file, lived in one comment, while CONTRIBUTING step 5 still said "Update CHANGELOG.md" and the template had a box for it.

Three changes, one commit:

Three settings the commit cannot carry, for after the merge: create the changelog label; make Changelog guard a required status check on main; and the entry written at merge goes on main by direct push or by a labelled pull request.

A reader who had seen none of this found: the job had no name, so the check would have been called guard while CONTRIBUTING named it Changelog guard, fixed; line 102 still named the file, fixed; and a pull_request workflow does not start on a pull request GitHub cannot merge, so the guard does not run on the five as they stand, which is handled separately.

Type of change

  • Editorial (typo, link fix, clarification: no normative effect)
  • Non-breaking spec change (new optional field, new platform profile, informative addition)
  • Breaking spec change (requires 14-day comment period and Project Lead sign-off)
  • Schema change
  • Example addition

Spec section

None (CONTRIBUTING.md, .github/PULL_REQUEST_TEMPLATE.md, .github/workflows/changelog-guard.yml).

Tests for a fix

Not a code or schema fix.

Changelog entry

None: the changelog records changes to the specification, and this is the contributing process.

Checklist

  • DCO sign-off on all commits (git commit -s)
  • CHANGELOG.md updated (for any normative change): not touched, which is the rule this pull request makes
  • Breaking changes marked with <!-- CHANGED: #NNN: description --> in spec text
  • Backward compatibility statement included (for breaking changes)

… fails pull requests that edit the file

Open pull requests that each add an entry under [Unreleased] conflict with main
and with each other as soon as one merges; five did this week. CONTRIBUTING step 5
and the pull request template now ask for the entry in the description, and the
merging Maintainer writes it on main at merge, crediting the author, as agentrust-io#486 was
asked to do on 12 October. The Changelog guard check fails a pull request whose
diff touches CHANGELOG.md unless a Maintainer labels it changelog.

Signed-off-by: Louie Lu <louie.lunz@gmail.com>
@lywinged
lywinged requested review from a team and rajnisht7 as code owners October 23, 2026 05:56

@dinakarjs dinakarjs 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.

Reviewed exact head 87c4af4. The workflow uses pull_request with a read-only token, pinned checkout and no persisted credentials; label events rerun the guard. Ran the actual shell body locally with bash -eo pipefail against real commit ranges: no CHANGELOG edit passes without label, an edit fails without label, and the same edit passes with label. Hosted workflow lint and the guard pass. No blocking finding.

@lywinged
lywinged merged commit c83cca6 into agentrust-io:main Oct 27, 2026
14 checks passed
@lywinged

Copy link
Copy Markdown
Collaborator Author

@imran-siddique @rajnisht7 following up on this PR: could you add Changelog guard as a required status check on main (the branch protection rule or the ruleset for main)? It came in with this pull request and has run on it, so it is selectable. Maintainers do not have that settings page.

@rajnisht7

Copy link
Copy Markdown
Member

@lywinged I’ve added Changelog guard as a required status check for main.

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.

3 participants