Version Packages - #1639
Merged
Merged
Conversation
app-token-issuer-releng-renovate
Bot
requested a review
from a team
as a code owner
August 19, 2026 13:05
app-token-issuer-releng-renovate
Bot
force-pushed
the
changeset-release/main
branch
from
August 19, 2026 20:55
5ceeed0 to
5701615
Compare
chainchad
approved these changes
Aug 19, 2026
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.
This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
cicd-changesets@1.5.0
Minor Changes
#1638
6f1ff16Thanks @chainchad! - Let a bun repo run its
own releases.
The action installed Node and pnpm unconditionally and ran
pnpm install, soa repo whose dependencies are managed by bun could not use it: there was no
pnpm lockfile to install from, and
node-version-filehad noengines.nodeto read in a package.json that pins
engines.buninstead. It failed at theNode setup step, before any changesets work.
A new
package-managerinput selects the toolchain. It defaults topnpm, soevery existing caller is unaffected. Set it to
bunand Node and pnpm are notinstalled at all: bun is set up and
bun install --frozen-lockfilerunsinstead.
The bun version is read from the repo's own pin, so the workflow does not have
to restate it (and let it drift).
bun-versionstill wins when set, but itdefaults to empty, and the action then resolves the version from
bun-version-fileor auto-detection. setup-bun already reads.tool-versions,.bun-version, andpackage.jsonnatively, so those areforwarded to it unchanged; the action reads
mise.toml,.mise.toml, and.config/mise/config.tomlitself (setup-bun does not understand mise) andpasses the version to setup-bun. Auto-detection tries a mise file first, then
forwards
.tool-versionsor.bun-versionif present, and setup-bun finallyreads
package.jsonor installslatest.changesets-publish-cmdandchangesets-version-cmdnow default to<package-manager> run ci:changeset:{publish,version}rather than hard-codingpnpm, so a bun caller that overrides neither does not shell out to a pnpmthat was never installed. A pnpm caller resolves to the same two commands as
before.
The
signed-commitsaction needed no change. It runs whichever commands it isgiven, and bun installs a normal
node_modulestree, so it resolves@changesets/cli/bin.jsexactly as it does under pnpm.#1638
6f1ff16Thanks @chainchad! - Support bun for package
management
promote-image-ecr@0.5.0
Minor Changes
#1640
5701615Thanks @chainchad! - Stop passing skopeo
transport URLs to cosign.
The action copies with
cosign copy, but the script still built imagereferences in skopeo's form,
docker://<registry>/<repo>:<tag>. cosign parsesreferences with go-containerregistry, which reads everything before the first
/as the registry: it tookdocker:as the host and tried to reachhttps://docker/v2/, so every promotion failed on DNS before a registry wascontacted.
This affected both the single-image and the images-matrix paths, and every
released version, so no promotion this action ran has ever succeeded.
The rest is the remainder of the same unfinished skopeo-to-cosign migration.
copy-signaturesis removed. It was documented as a switch to skopeo, but noskopeo path exists and the script never read the value, so setting it to
falsedid not change what the action did.cosign copyalways carriessignatures and attestations. No caller in the org passes it.
SKOPEO_ARGSand theSRC_PASS/DST_PASSenvironment variables are removedfrom the copy step.
SKOPEO_ARGSwas populated frominputs.skopeo-additional-args, an input this action does not declare, so italways expanded to empty. The two passwords were what skopeo's
--credsflagsneeded; cosign authenticates from the Docker config that
amazon-ecr-loginwrites, and nothing read them. They no longer enter the step environment.
Three fixes to the images-matrix path, which was unusable beyond the reference
bug above:
IMAGE_COUNTwasdiscarded and the run always reported
All 0 images copied successfully!,and the failure
exit 1left the subshell rather than the script. It nowreads from a process substitution.
sed -i "4i\"is rejected by GNU sed asiwith no text after it, so thesummary write failed once copying had succeeded. The total is now inserted
by rewriting the file. The heading it writes was
** Total Images Promoted:**, which Markdown does not render as bold; thestray space is gone.
action.yamldescribed theimagesobjects with camelCase keys(
sourceRepository), while the script and the README both use snake_case(
source_repository). Following the documented casing produced nulls. Thedescription now matches.
The
promoted-imagesoutput returns the promotions it promised. It read/tmp/promotion-results/promoted-images.json, a file the script never writes;results land in
promotion-results.json. The output was[]on every run,including successful ones. It now reads the
.promotionsarray.The README's examples were not runnable: they passed underscore input names
(
source_role_arn) that the action does not declare, all of which arekebab-case, and pointed
uses:at a local./.github/actions/promote-imagepath that does not exist in a consuming repo.