feat(release-please): run the fork CLI from source instead of the action - #22
Closed
kojiromike wants to merge 1 commit into
Closed
feat(release-please): run the fork CLI from source instead of the action#22kojiromike wants to merge 1 commit into
kojiromike wants to merge 1 commit into
Conversation
The reusable workflow ran openCoreEMR/release-please-action@v5.0.0-oce.1, which executes a committed dist/ bundle frozen when the tag was cut (2026-04-30). Its package.json names the fork branch, but branch changes never reach a deployed run — the fork's uv.lock updater (which fixes python release PRs shipping a stale lockfile, the oce-ensora-adapter v1.0.0 no-image bug) sat undeliverable behind a dist rebuild + retag + ref bump in three repos. Install the fork CLI from source at a pinned commit instead: npm runs the package's prepare script at install time, so the workflow executes exactly the pinned commit and a fork change ships by bumping one SHA in one file. Tags are cut with the fork's --annotated-tag flag; the action's output contract (releases_created, release_created, tag_name, version, paths_released) is reproduced from the fork's --dry-run --json preview taken immediately before the real run, since the real run prints only Node object-inspect output. Gate: actionlint — clean (exit 0); yq parse — clean. Assisted-by: Claude Code
Contributor
Author
|
Rejected by maintainer — wrong approach. Superseded by a new release of release-please-action with a rebuilt dist; the reusable workflow gets a one-line tag bump instead. Leaving for Michael to close. |
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.
Switches the reusable release-please workflow from
openCoreEMR/release-please-action@v5.0.0-oce.1to installing the openCoreEMR/release-please fork CLI from source at a pinned commit.Why: the action executes a committed
dist/bundle frozen when its tag was cut (2026-04-30). Itspackage.jsonpoints at the fork branch, but nothing on that branch reaches a deployed run without a dist rebuild, a new action tag, and a ref bump here — three repos to deliver one library change. The fork's new uv.lock updater (python release PRs currently bumppyproject.tomlwithout re-locking, which broke the oce-ensora-adapter v1.0.0 image build — see oce-ensora-adapter#41) is the change stuck behind exactly that chain.How:
npm install github:openCoreEMR/release-please#<sha>compiles the CLI from source via the package'spreparescript, so the workflow runs exactly the pinned commit (69f51b7, current tip offeat/annotated-tags-and-preview) and future fork changes ship by bumping one SHA in this file. Tags are cut with the fork's--annotated-tagflag. The workflow's output contract is unchanged —releases_created,release_created,tag_name,version,paths_releasedare reproduced from the fork's--dry-run --jsonpreview taken immediately before the realgithub-releaserun (the real run prints only Node object-inspect output).Follow-ups this unblocks: once merged and a release PR in oce-ensora-adapter demonstrably bumps
uv.lock, its Dockerfile'suv sync --frozencan revert to--locked(the fail-closed check that would have caught the v1.0.0 bug). oce-api-harness pins the action directly in its ownrelease-please.ymland can either adopt this reusable workflow or make the same switch.Gate:
actionlintclean,yqparse clean. Empirical check owed on the first real release through a caller: the preview-derived outputs and the annotated tag.