ci: make the release-check workflow parseable and non-wedging - #2
Merged
Conversation
The --body continuation lines sat at column 0, below the `run: |` block indentation, which ends the YAML block scalar. The file has never been valid YAML, so GitHub could not load it — the Actions API still lists this workflow by path instead of by name. It has never run, which is why the missing 'automated' label never surfaced here. Alongside that, the same three defects fixed in plcc-ng-devcontainer: gh pr create resolved --label before creating the PR, so a label problem aborted the run after the branch was already pushed; the idempotency guard keyed on branch existence, turning that into a permanent no-op; and the commit type was hardcoded to `fix:`, so a new PLCC major would ship the image as a patch and move the :N tag courses pin onto a new major. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
This PR repairs the check-plcc-release GitHub Actions workflow so it loads as valid YAML and can run, while also making the automation non-wedging and release-type aware (major vs patch) for semantic-release.
Changes:
- Fixes the workflow’s
gh pr create --bodyformatting so the workflow file is parseable YAML. - Determines release commit subject/body based on PLCC major version changes and carries BREAKING CHANGE information through to the squash commit.
- Improves idempotency and operational robustness by keying on PR existence, recovering from branch-without-PR states, and making label application non-fatal.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
+109
to
+113
| CI will build and test the image on this PR. Merge if green — merging triggers the release workflow, which publishes a new versioned image automatically. | ||
|
|
||
| PLCC release: https://github.com/ourPLCC/plcc/releases/tag/${LATEST} | ||
|
|
||
| PLCC release: https://github.com/ourPLCC/plcc/releases/tag/${LATEST}" \ | ||
| ${COMMIT_BODY}" \ |
Contributor
|
🐳 PR image built: To test manually, update |
The ruleset requires a check named "CI" — this workflow's top-level name. Actions posts one check per job and never one named after the workflow, so that check has never been reported and PRs hang on "Expected — waiting for status to be reported" while every real check is green. Requiring `build` instead would work today and break again as soon as that job gains a matrix, since its check would become `build (x)`. ci-gate's name never changes, so the ruleset never needs revisiting. It runs with `if: always()`; without that it would be skipped whenever build failed, report nothing, and reproduce the same hang. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Contributor
|
🐳 PR image built: To test manually, update |
|
🎉 This PR is included in version 1.1.1 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
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.
The --body continuation lines sat at column 0, below the
run: |block indentation, which ends the YAML block scalar. The file has never been valid YAML, so GitHub could not load it — the Actions API still lists this workflow by path instead of by name. It has never run, which is why the missing 'automated' label never surfaced here.Alongside that, the same three defects fixed in plcc-ng-devcontainer: gh pr create resolved --label before creating the PR, so a label problem aborted the run after the branch was already pushed; the idempotency guard keyed on branch existence, turning that into a permanent no-op; and the commit type was hardcoded to
fix:, so a new PLCC major would ship the image as a patch and move the :N tag courses pin onto a new major.