react icon indicating copy to clipboard operation
react copied to clipboard

Simplify release-from-npm workflow

Open eps1lon opened this issue 5 months ago • 1 comments

Allows releasing from GitHub Actions again.

Runtime packages (packages in ~/packages) don't use the same SemVer version (e.g. eprh is on 6.2 while React&friends is on 19.2). However, they do use the same prerelease while their designated SemVer stable version is already known in ReactVersions.js.

The publish prelease from npm workflow now only accepts the prerelease you want to promote e.g. in 19.2.0-canary-abc-123 the prerelease is abc-123. We always promote canaries now. That's a bit awkward if we want to promote from canary to alpha to beta to stable. Either we have to remember which Canary we promoted or we promote from the latest Canary which we've done for 19.0.

Note that the designated version is the one the workflow is running on. So for backports you need to run the workflow from a backport branch.

This doesn't support promoting to another prerelease channel e.g. to beta. We'll add support from that when we're working on v20.

test plan

  • (failures in those runs since they were re-publishes and you can't republish on NPM) Tested release to canary and promotion on a private GH fork with React forks under @eps1lon/.

eps1lon avatar Oct 02 '25 22:10 eps1lon

Comparing: 09f05694a25578c46e846e4ff9495f7c1352c29c...5a76e0e66232936be13da3cf194d3254215231ee

Critical size changes

Includes critical production bundles, as well as any change greater than 2%:

Name +/- Base Current +/- gzip Base gzip Current gzip
oss-stable/react-dom/cjs/react-dom.production.js = 6.84 kB 6.84 kB = 1.88 kB 1.88 kB
oss-stable/react-dom/cjs/react-dom-client.production.js = 608.36 kB 608.36 kB = 107.68 kB 107.68 kB
oss-experimental/react-dom/cjs/react-dom.production.js = 6.84 kB 6.84 kB = 1.88 kB 1.88 kB
oss-experimental/react-dom/cjs/react-dom-client.production.js = 667.47 kB 667.47 kB = 117.57 kB 117.57 kB
facebook-www/ReactDOM-prod.classic.js = 693.67 kB 693.67 kB = 122.07 kB 122.06 kB
facebook-www/ReactDOM-prod.modern.js = 684.10 kB 684.10 kB = 120.45 kB 120.45 kB

Significant size changes

Includes any change greater than 0.2%:

(No significant changes)

Generated by :no_entry_sign: dangerJS against 5a76e0e66232936be13da3cf194d3254215231ee

react-sizebot avatar Dec 02 '25 00:12 react-sizebot