diff --git a/admin/prerelease.md b/admin/prerelease.md new file mode 100644 index 0000000000..2027c9ef46 --- /dev/null +++ b/admin/prerelease.md @@ -0,0 +1,27 @@ +# Prereleasing New Version of Docusaurus + +[![asciicast](https://asciinema.org/a/hZ7NNJPcgtdvzm5tMLLfHflMD.png)](https://asciinema.org/a/hZ7NNJPcgtdvzm5tMLLfHflMD) + +# Steps + +1. Ensure that `origin` remote is your Docusaurus fork and `upstream` is Docusaurus original repository. + +```bash +$ git remote -v +origin https://github.com/endiliey/Docusaurus.git (fetch) +origin https://github.com/endiliey/Docusaurus.git (push) +upstream https://github.com/facebook/Docusaurus.git (fetch) +upstream https://github.com/facebook/Docusaurus.git (push) +``` + +2. Pull latest changes from Docusaurus repository. + +```bash +$ git fetch upstream && git checkout master && git merge upstream/master +``` + +2. Modify `CHANGELOG.md` and other necessary files. Do not commit the changes. +3. Run `bash scripts/prerelease.sh`. +4. Create your pull request on GitHub. + +pull request \ No newline at end of file diff --git a/scripts/prerelease.sh b/scripts/prerelease.sh new file mode 100644 index 0000000000..d9cd9918dd --- /dev/null +++ b/scripts/prerelease.sh @@ -0,0 +1,48 @@ +#!/bin/bash + +DOCS_VERSION_COMMAND="run version" + +echo "Select an option for release:" +echo + +select VERSION in patch minor major "Specific Version" + do + echo + if [[ $REPLY =~ ^[1-4]$ ]]; then + if [[ $REPLY == 4 ]]; then + read -p "Enter a specific version: " -r VERSION + echo + if [[ -z $REPLY ]]; then + VERSION=$REPLY + fi + fi + + read -p "Create $VERSION commit - Are you sure ... (y/n) " -n 1 -r + echo + + if [[ $REPLY =~ ^[Yy]$ || -z $REPLY ]]; then + # bump version + yarn version --new-version $VERSION --no-git-tag-version + NEW_VERSION=$(node -p "require('./package.json').version") + + # create new branch + git checkout -b $NEW_VERSION master + + # cut docusaurus docs version + cd website && yarn $DOCS_VERSION_COMMAND $NEW_VERSION + + # Create commit + git add . + git commit -m "v$NEW_VERSION" + git push origin $NEW_VERSION + echo "Finished" + else + echo Cancelled + fi + break + else + echo Invalid \"${REPLY}\" + echo "To continue, please enter one of the options (1-4):" + echo + fi + done