chore: pin semantic-release plugin versions - #650
Merged
Conversation
@semantic-release/github and @semantic-release/exec were the last unpinned entries in extra_plugins, so each release resolved whatever npm called latest at that moment. Pin them to the versions the workflow already resolves today. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Contributor
Sample app builds 📱Below you will find the list of the latest versions of the sample apps. It's recommended to always download the latest builds of the sample apps to accurately test the pull request.
|
mahmoud-elmorabea
marked this pull request as ready for review
September 1, 2026 19:58
Shahroz16
approved these changes
Sep 1, 2026
Shahroz16
left a comment
Contributor
There was a problem hiding this comment.
Looks good. The semantic-release plugins are pinned to compatible versions, the install replay resolves cleanly, and the action-provided changelog and git plugins are already pinned as well.
mahmoud-elmorabea
deleted the
mbl-2324-rn-pin-semantic-release-plugins
branch
September 2, 2026 09:05
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.
Problem
deploy-sdk.ymlpasses anextra_pluginslist tocycjimmy/semantic-release-action. Unpinned entries there are installed atlatestat release time, so the release pipeline's behaviour changes without any commit to this repo. That has already broken releases twice:generateNotes, before any tag was cut:Missing helper: conventional-changelog-conventionalcommits requires conventional-changelog-writer@9 or newer. The unpinned preset had floated into the incompatible 10.x line. Fixed by db93d2d (ci: pin semantic-release and changelog preset versions #639); 6.6.3 released cleanly ~40 minutes later, no version burned.Deploy to npmfailed at "Install npm 11.5.1+ for OIDC support" withEBADENGINE ... npm@12.0.2 Required: node ^22 || ^24 || >=26, Actual: node v20.20.2— same class of defect (npm install -g npm@latestunder a pinned Node 20). Fixed by 7c6f6cd (fix: pin npm to 11.x in the npm deploy job #626) and 21feea4 (ci: move CI onto supported node and ruby runtimes #635).Both incidents are already fixed. What remained is that #639 pinned only
semantic_versionand the changelog preset —@semantic-release/githuband@semantic-release/execwere still unpinned, leaving the same failure mode live.What changed
Pinned the two remaining floating entries to the versions the workflow already resolves today, matching the style of the existing preset pin:
@semantic-release/githublatest)12.0.9@semantic-release/execlatest)7.1.0Both are the current
lateston npm and both predate the most recent successful release run (33205068114, 6.10.0, Aug 28), so this pins to what CI is already installing — no behaviour change, just determinism. Peer ranges (semantic-release: >=24.1.0) are satisfied by the pinnedsemantic_version: 25.0.9.@semantic-release/changelogand@semantic-release/gitare also used by.releaserc.jsonbut are not listed here — they are bundled bycycjimmy/semantic-release-actionitself, which is already SHA-pinned, so they are deterministic.Dependabot blind spot
.github/dependabot.ymlwatches onlygithub-actions, which resolvesuses:refs and nothing else. No Dependabot ecosystem parsesextra_plugins, so these versions are invisible to automated updates and will go stale with no PR.I did not change
dependabot.yml: there is no configuration that would actually cover these strings (adding annpmecosystem would open PRs for the SDK's own dependency tree and still would not read the workflow). Instead the constraint is recorded as a comment next to the pins so the next person bumps them deliberately.Out of scope
6.6.0tag (npm jumps 6.5.2 → 6.6.1) is intentionally left alone.sdk_versioninput rather than usinggit describe, and that behaviour is deliberately preserved.Fixes MBL-2324