-
Notifications
You must be signed in to change notification settings - Fork 14
Release Process
This is for everybody who wants to wants to push an update to React out into the world. Most people should not be doing any of this - you'll know if you're one of them.
There are a lot of assumptions being made (e.g., it's safe to build docs from master, which is true right now but might not be in the future). If you have questions, talk with Paul (@zpao) first.
I'm going to assume you have nothing checked out. That's probably not true, but bare with me.
git clone [email protected]:facebook/react.git
git clone -b gh-pages [email protected]:facebook/react.git react-gh-pages
git clone [email protected]:facebook/react-bower.gitYou now have 3 folders:
-
react- This is the good part. It contains all of the raw code and documentation which we'll use to generate everything else -
react-gh-pages- This is the generated content for http://facebook.github.io/react. You should never be editing files in here directly -
react-bower- This contains the files needed for bower. These are also generated and should never be edited directly (unless the requirements change).
This process is slightly different than just generating a new copy of the website. This is because we need to build the official copies of various files.
Important!!! Make sure you have updated the version in package.json. This is used in the documentation and when creating files. Also, make sure any references in README.md are updated to point at the new version. Then it's quite simple:
cd react
rm -rf node_modules
npm install
grunt releaseThere's a quick TODO list dumped to the console at the end of this letting you know the followup tasks to do. The important thing to note is that nothing has been pushed for you. Your repos have been updated and tagged, but you'll need to actually push them yourself. Putting files on the CDN is a separate task (not documented here) and will need to be done before pushing react-gh-pages.
If you are only rebuilding the website (e.g., publishing a new blog post), and assuming you are all set up to actually build the docs (see the docs readme). It's a simple process:
cd react/docs
rake release
cd ../../react-gh-pages
# git add as necessary, commit, push