Skip to content

Release process

Adi Dahiya edited this page Jul 20, 2023 · 43 revisions

This page is for members of the palantir/blueprint team only.

1. Ensure the current changelog is up to date

Review the list of commits since the last "Publish" commit on develop.

Make sure that every meaningful change is documented in the changelog wiki page for the current major version (as of this writing, that's 5.x Changelog).

2. Create a release commit

Make sure you're on the latest develop commit.

git checkout develop
git fetch origin
git rebase origin/develop

Use Lerna to bump version numbers and tag a release.

yarn lerna version

Lerna will interactively prompt you to select new version numbers. Review the changelog to determine what the new version for each package should be:

  • if there are any new features (including icons), use a Minor release
  • otherwise, use a Patch release
lerna notice cli v6.5.1
lerna info versioning independent
lerna info Looking for changed packages since @blueprintjs/core@5.1.4
? Select a new version for @blueprintjs/core (currently 5.1.4) (Use arrow keys)
❯ Patch (5.1.5)
  Minor (5.2.0)
  Major (6.0.0)
  Prepatch (5.1.5-alpha.0)
  Preminor (5.2.0-alpha.0)
  Premajor (6.0.0-alpha.0)
  Custom Prerelease
  Custom Version

After this command exits successfully, it will have created a tagged release commit and pushed it to develop, which triggers a CI job to build & publish the libraries to NPM.

Checkout the develop branch locally, fast-forward to origin/develop.

3. Update documentation site

  1. After a successful publish to NPM (you can follow the CI job on the "Publish" commit), run the following on develop to produce a clean build:

    yarn clean && yarn compile && yarn dist
  2. Run yarn site to copy assets and launch a local HTTP server for the site/ directory.

  3. Do a spot check on the local server to confirm that the site is in order and the version numbers you just released appear in the sidebar.

  4. (If you haven't already) Create a second local check-out of the blueprint git repository at ../blueprint-gh-pages which is checked out at the gh-pages branch

  5. Copy the locally-built docs site to your second git repo checkout:

    cp -r site/docs/ ../blueprint-gh-pages/docs/
  6. Push to the gh-pages branch:

    cd ../blueprint-gh-pages
    git commit -m "docs v5.x" # replace this with the version of @blueprintjs/core just released
    git push origin gh-pages
Clone this wiki locally