fix(ci): read the root release outputs without a path prefix - #35
Merged
Conversation
release-please-action's setPathOutput() emits the bare output key when the package path is ., and only prefixes the component packages. The workflow read `.--release_created`, which is therefore always empty, so build-context and all six image publishes were skipped on the apus 0.2.0 release while publish-telemetry-addon -- whose prefixed output name was correct -- ran fine. Also exclude CHANGELOG.md from the lychee link check: release-please writes compare links pointing at the tag the release PR has not created yet, so every release PR failed the link check with a 404. markdownlint already ignores the file via `ignores`, but lychee is a separate step that does not read it.
Contributor
Test results496 tests 496 ✅ 30s ⏱️ Results for commit fa33c51. ♻️ This comment has been updated with latest results. |
release-please writes one CHANGELOG.md per package, so telemetry-addon/CHANGELOG.md was linted and failed on MD012. A bare "CHANGELOG.md" ignore pattern only matches the file in the repository root.
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.
Two defects from Phase 7 that only surfaced once real releases ran.
The image publishes never fired
The
apus 0.2.0release created its tag and bumped the version, butbuild-contextand all sixpublish-*jobs were skipped — whilepublish-telemetry-addonon thetelemetry-addon 0.2.0release ran through fine.The cause is in
release-please-action's own output handling:The root package is the exception to the
<path>--<key>naming rule. The workflow readoutputs['.--release_created'], which is therefore always empty, so the gate never opened. The two component packages were prefixed correctly, which is exactly why the Maven publish worked and hid the problem.Fixed by reading
outputs.release_created/outputs.versionfor the root track. The two component outputs stay as they are.Every release PR failed the link check
lycheereported a 404 onRelease Please writes compare links pointing at the tag that the release PR itself will create on merge — so while the PR is open, the tag does not exist.
CHANGELOG.mdis already in.markdownlint-cli2.jsonc'signores, butlycheeis a separate step in the central workflow and does not read that config.Fixed by passing
--exclude-path CHANGELOG.mdthrough thelychee-argsinput. Verified locally against the exact failing link with lychee 0.24.2: 1 error before, 0 after.Consequence for the current release
apus-v0.2.0is tagged but has no images — they were skipped, not failed. The next release on the root track will produce them; alternatively the publish jobs can be re-run manually against that tag.The Phase 7 plan document carried the same wrong output names and is corrected here too, so it does not serve as a template for the next repository.
🤖 Generated with Claude Code