ci: retag image references on a major bump, and flag the prose - #8
Merged
Conversation
A new plcc-ng major publishes the images under a new major tag, but the
copy-paste snippets in README.md, devcontainer.json and
docs/choosing-your-image.md kept naming the old one — today's 2.0.0
release needed all six fixed by hand.
Those six are fully qualified image paths, so they can be rewritten
safely. The surrounding guidance cannot: it names both the new major and
the one being left behind, so a blind :N -> :M substitution yields text
that is confidently wrong ("`:3` carries plcc-ng 3.x, and `:1` stays on
plcc-ng 1.x"). On a major the PR body now asks a human to review those
specific passages instead of pretending to have handled them.
perl rather than sed: the match needs a negative lookahead so `:2` does
not fire inside `:20` or `:2.1`, and BSD sed has neither that nor \b.
Anchoring on the full devcontainers/ path is what keeps
features/plcc-ng:1 out of scope — verified it survives even when the
feature shares the image's major number.
The JSON reformatting noise needed no change: the 2.0.0 bump already
rewrote those four files through jq, so they are canonical and the next
bump produces a one-line diff each.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
Updates the automated “check plcc-ng release” workflow so that major version bumps also retag fully-qualified devcontainer image references in repo-facing copy/paste snippets, while explicitly flagging the surrounding prose as requiring human review.
Changes:
- Detect major bumps explicitly (OLD_MAJOR/NEW_MAJOR) and include a “major bump” marker in logs.
- On major bumps, retag
ghcr.io/ourplcc/devcontainers/*:${OLD_MAJOR}→:${NEW_MAJOR}inREADME.md,devcontainer.json, anddocs/choosing-your-image.mdusing a Perl regex with a negative lookahead. - Append a PR-body review note calling out specific prose sections in
docs/choosing-your-image.mdfor manual review (while keeping theBREAKING CHANGE:footer positioned for semantic-release parsing).
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| "" \ | ||
| "The fully qualified image references in \`README.md\`, \`devcontainer.json\` and \`docs/choosing-your-image.md\` were retagged \`:${OLD_MAJOR}\` → \`:${NEW_MAJOR}\` automatically." \ | ||
| "" \ | ||
| "The surrounding guidance in \`docs/choosing-your-image.md\` was **not** touched and still describes the previous major. Please review by hand:" \ |
The note said the guidance in docs/choosing-your-image.md was "not touched", sitting right below a sentence listing that same file among those retagged. Scoped correctly but easy to misread as the file being unchanged — and it is edited on every bump regardless, by the version example sed. Now states plainly that all three files are modified, and that only the guidance prose was left alone. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A new plcc-ng major publishes the images under a new major tag, but the copy-paste snippets in README.md, devcontainer.json and docs/choosing-your-image.md kept naming the old one — today's 2.0.0 release needed all six fixed by hand.
Those six are fully qualified image paths, so they can be rewritten safely. The surrounding guidance cannot: it names both the new major and the one being left behind, so a blind :N -> :M substitution yields text that is confidently wrong ("
:3carries plcc-ng 3.x, and:1stays on plcc-ng 1.x"). On a major the PR body now asks a human to review those specific passages instead of pretending to have handled them.perl rather than sed: the match needs a negative lookahead so
:2does not fire inside:20or:2.1, and BSD sed has neither that nor \b. Anchoring on the full devcontainers/ path is what keeps features/plcc-ng:1 out of scope — verified it survives even when the feature shares the image's major number.The JSON reformatting noise needed no change: the 2.0.0 bump already rewrote those four files through jq, so they are canonical and the next bump produces a one-line diff each.