Skip to content
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

React Release Manager #7330

Merged
merged 22 commits into from
Jan 6, 2017
Merged

React Release Manager #7330

merged 22 commits into from
Jan 6, 2017

Conversation

zpao
Copy link
Member

@zpao zpao commented Jul 21, 2016

❗️Not ready to be merged into master, still a work in progress❗️

Introducing the React Release Manager, built to replace all of the manual steps involved in maintaining & shipping React.

Primary focus so far has been the most time-intensive & error prone steps. But automating more of this process is super important as we want to be able to turn around releases much more quickly, and ensure more people feel confident doing it (I've run almost every release since we started)

Quick overview:

  • docs-prs: replaces a GH label search, opening a bunch of tabs, copying the merge sha, cherry-pick each of those, push, batch remove label on GH
  • stable-prs: similar docs process but with milestones
  • version: replaces manually editing a bunch of files before release (or other similar steps, eventually became me using patch)
  • npm-publish: replaces a couple commands in my shell history, or a fancy ls build/packages/*.tgz | xargs -n1 npm publish

Plans:

  • publish: do the whole thing
  • version-start: create/update branches for release prep work (eg, just shipped 15.3.0, make sure dev branch exists)
  • changelog: generate a naive version of the changelog from X to Y (maybe just added to stable-prs command)
  • a whole bunch of refinement and error handling, state checking (eg, don't try to do anything if git state is dirty or on the wrong branch)

@@ -7,6 +7,7 @@
"dependencies": {
"chalk": "^1.1.3",
"colors": "^1.1.2",
"es6-promisify": "^4.1.0",
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can revert this and just remove the dead require I added. I bet that's why lint is unhappy too…

@iamdustan iamdustan mentioned this pull request Oct 21, 2016
zpao and others added 20 commits January 6, 2017 13:47
This will publish all packages in build/packages/*.tgz to the "next" tag. If the current version is "stable" (doesn't trigger semver.prerelease()) then it will also update the "latest" dist-tag to point at that version.
This does the essentials for starting a new release on the stable branch
Now with
- better UX (can skip, handle each failed cherr-pick individually)
- easier to read code
- better error handling / cancellation
This reverts commit c8cd133.

It's not used in the code.
@gaearon gaearon merged commit bf763fd into master Jan 6, 2017
@gaearon gaearon deleted the release-manager branch January 6, 2017 14:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants