-
-
Notifications
You must be signed in to change notification settings - Fork 5.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[⚠️ DANGER ⚠️] Prepare make commands and GH actions for Babel 8 pre-releases #15574
Conversation
Build successful! You can test your changes in the REPL here: https://babeljs.io/repl/build/54365/ |
@@ -1,6 +1,7 @@ | |||
{ | |||
"name": "babel", | |||
"version": "7.21.4", | |||
"version_babel8": "8.0.0-alpha", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When semver increments this, it will generate 8.0.0-alpha.0
f9c4bda
to
4310867
Compare
TODO: Bump all the peer dependency versions :) |
I tried this locally, and found some bugs. I think I tested as much as possible, and now the only way to be sure is to merge 😅 |
Co-authored-by: Linus Groh <mail@linusgroh.de>
Yolo |
This PR adds the various utilities to actually publish Babel 8 prereleases.
The workflow will be this:
main
branchmake new-babel-8-version
, which will:package.json#version_babel8
package.json#version_babel8
, and commit it tomain
release/${version}
branchyarn release-tool version ${version} --all
in that branch, to update the version of every package to the new pre-releasemain
,release/${version}
and the newv${release}
tag tobabel/babel
Then, the
release
GH workflow will start running on the new tag.check-release-type
checks if we are doing a Babel 7 release or a Babel 8 pre-release, and if we are doing a Babel 8 pre-release:BABEL_8_BREAKING
andUSE_ESM
env variables totrue
inmake prepublish
(for building) andyarn release-tool publish
(to set the correctpackage.json
fields)I didn't adapt the "just trigger manually the
release
workflow" publishing strategy, I will do it once I see that this works.The most testing I think we can do is by releasing a Babel 7 release, so that it only triggers the new
check-release-type
paths and worst case I have to manually generate the changelog if it's broken.Copilot
🤖 Generated by Copilot at 861dc8e
Summary
🚀🛠️🏷️
This pull request adds the necessary logic and configuration to prepare and publish Babel 8 as a prerelease version. It modifies the
.github/workflows/release.yml
file, theMakefile
, theMakefile.source.mjs
file, and thepackage.json
file to handle Babel 8 differently from regular releases.Walkthrough
check-release-type
to the release workflow to determine if the release is a Babel 8 release (link)BABEL_8_BREAKING
andUSE_ESM
environment variables to thebuild
andtest
steps of thenpm-release
job to enable different features and configurations for the Babel 8 release (link, link)publish
command in theMakefile
to use a different tagnext
for the Babel 8 release (link)make
withmakejs
in theMakefile
and add a new commandnew-babel-8-version
to create and publish a new prerelease version of Babel 8 (link)semver
module and define two new tasksnew-babel-8-version-prepare
andnew-babel-8-version
inMakefile.source.mjs
to update theversion_babel8
property inpackage.json
and run therelease-tool
script with a different flag (link, link)version_babel8
topackage.json
to store the current prerelease version of Babel 8 (link)