- Get an account at npm. Ask framework owners to be added to the proper organizations.
- Install npmrc and follow its instructions to create a public profile.
- Switch to the latest release branch.
git checkout <X.x>-release
git pull
git log
-
Check all the bug/feature tickets under the current github milestone. Make sure the PRs are all cherry-picked to the release branch.
-
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.
-
Test the branch by running
npm run test
, website examples and layer-browser (if deck.gl). -
Update CHANGELOG.md, making sure all commits and PRs merged after release are recorded properly:
- 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.
- Switch to the master branch.
git checkout master
git pull
-
Test the branch by running
npm run test
, website examples and layer-browser (if deck.gl). -
Update CHANGELOG.md.
-
Only if this is the first pre-release of a new version: open
lerna.json
, change theversion
field to<version>-alpha.0
or<version>-beta.0
. -
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.
- The latest release branch should be created by duplicating the master branch:
git checkout master
git pull
git checkout -b <X.x>-release
- Update the links in documentation and website to point to the current branch:
npm run update-release-branch <X.x>
- Push to upstream:
git push
- Under the release branch:
cd website
rm -rf node_modules
yarn
yarn build
-
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. -
Test the branch by running
npm run test
, website examples and layer-browser (if deck.gl). -
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.
-
Update CHANGELOG.md.
-
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.
- 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 remotegh-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.
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.