Skip to content

Latest commit

 

History

History
154 lines (110 loc) · 4.16 KB

publish-checklist.md

File metadata and controls

154 lines (110 loc) · 4.16 KB

Framework publish checklist

Create NPM account

  1. Get an account at npm. Ask framework owners to be added to the proper organizations.
  2. Install npmrc and follow its instructions to create a public profile.

Patch release

  1. Switch to the latest release branch.
git checkout <X.x>-release
git pull
git log
  1. Check all the bug/feature tickets under the current github milestone. Make sure the PRs are all cherry-picked to the release branch.

  2. If there were several conflicts in cherry-pick process and you have to make several changes in process of selecting partial changes from a PR, create a PR, get teams review, otherwise just push all changes into release branch directly.

  3. Test the branch by running npm run test, website examples and layer-browser (if deck.gl).

  4. Update CHANGELOG.md, making sure all commits and PRs merged after release are recorded properly:

Image Text

  1. Make sure you are using the correct NPM profile, then run the publish script:
npmrc public
git add .
npm run publish prod

Double check the version numbers before confirming to publish.

Beta release

  1. Switch to the master branch.
git checkout master
git pull
  1. Test the branch by running npm run test, website examples and layer-browser (if deck.gl).

  2. Update CHANGELOG.md.

  3. Only if this is the first pre-release of a new version: open lerna.json, change the version field to <version>-alpha.0 or <version>-beta.0.

  4. Make sure you are using the correct NPM profile, then run the publish script:

npmrc public
git add .
npm run publish beta

Double check the version numbers before confirming to publish.

Major/Minor release

Cut the release branch

  1. The latest release branch should be created by duplicating the master branch:
git checkout master
git pull
git checkout -b <X.x>-release
  1. Update the links in documentation and website to point to the current branch:
npm run update-release-branch <X.x>
  1. Push to upstream:
git push

Build the website

  1. Under the release branch:
cd website
rm -rf node_modules
yarn
yarn build

Pre-release checks

  1. The files inside website/dist are the production build of the website. Stage the website on a static server to test in all supported OS and browsers.

  2. Test the branch by running npm run test, website examples and layer-browser (if deck.gl).

  3. Check all the bug/feature tickets under the current github milestone. Make sure they are properly listed in What's New and Upgrade Guide. Open a PR to update these pages.

  4. Update CHANGELOG.md.

  5. Make sure you are using the correct NPM profile, then run the publish script:

npmrc public
git add .
npm run publish prod

Double check the version numbers before confirming to publish.

Publish the website

  • Copy the content of website/dist folder to a different place
  • Now checkout gh-pages branch (git checkout gh-pages)
  • copy the contents of dist folder saved in step#5 to root folder (deck.gl/)
  • git add -u (to make sure no untracked files are added) and commit (if commit fails, stash your changes, switch to master, yarn, switch back to gh-pages, apply stash and try commit again)
  • git push to update remote gh-pages branch.

Congratulations, you have updated the deck.gl website.

When possible, first test the website on the (uber-internal) staging environment.

Also check "special instructions" below.

Special Instructions

JSON Browser

To build the json-browser (available on http://deck.gl/json):

cd deck.gl
yarn
cd examples/json-browser/pure-js
yarn
yarn build

To copy it into the gh-pages branch

cp build/json-browser.min.js /tmp
cp index.html /tmp
cd -
git checkout gh-pages
mkdir -p json
cd json
cp /tmp/index.html build/json-browser.min.js json

Also, add mapbox token to the index.html file.