Repository navigation
contributing: changelog entries are written on main at merge; a guard fails pull requests that edit the file - #623
Conversation
… 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>
dinakarjs
left a comment
There was a problem hiding this comment.
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.
|
@imran-siddique @rajnisht7 following up on this PR: could you add |
|
@lywinged I’ve added |
What this changes
Open pull requests that each add an entry under
[Unreleased]inCHANGELOG.mdconflict withmainand 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 "UpdateCHANGELOG.md" and the template had a box for it.Three changes, one commit:
CONTRIBUTING.md, step 5 of a normative contribution: the entry goes in the description under## Changelog entry, the merging Maintainer writes it under[Unreleased]onmainat merge crediting the author, and a pull request that has to carry the file (a release, a correction to the file) is labelledchangelogby a Maintainer. Line 102 now says "the changelog entry" where it named the file..github/PULL_REQUEST_TEMPLATE.md: a## Changelog entrysection; theCHANGELOG.md updatedbox is gone..github/workflows/changelog-guard.yml: onpull_request, fails whenCHANGELOG.mdis in the diff against the merge base unless the pull request carries thechangeloglabel; re-runs on label changes; reads only, no write token, notpull_request_target. actionlint and shellcheck clean. Simulated on a clone: fix(intent_bridge,successor_observation): validate caller options and JWKs at entry and deep-copy observation (#617) #618 fails, docs(crosswalk): NIST SP 800-53 Rev 5 and DoD AI Tailoring Guide mapping for v0.2 claims #486 passes.Three settings the commit cannot carry, for after the merge: create the
changeloglabel; makeChangelog guarda required status check onmain; and the entry written at merge goes onmainby 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 calledguardwhile CONTRIBUTING named itChangelog guard, fixed; line 102 still named the file, fixed; and apull_requestworkflow 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
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
git commit -s)CHANGELOG.mdupdated (for any normative change): not touched, which is the rule this pull request makes<!-- CHANGED: #NNN: description -->in spec text