Skip to content

Release checklist

Charles Pierce edited this page May 8, 2019 · 24 revisions

This is Dave's manual process for now. This should all be automated.

Release notes

Update ./RELEASES.md with a new entry. Add a bullet item for every user-facing PR that has been merged since the last release.

Update ./Cargo.toml to have the new version in the version field.

Commit this change with a commit message "v$version" where $version is the new version.

Push and make sure CI passes.

Linux

On linux host:

To compile against the various versions of OpenSSL, you will need to download, build from source, and install into a custom folder both a 1.0.1 and a 1.1.0 version of OpenSSL (we use the lower patch version so that we won't wind up depending on a feature that was added in a later update). You will also need access to a machine that has RHEL or CentOS installed to build against their specific, weird version of OpenSSL.

To build RHEL Version:

git pull
cargo build --release
./dev/unix/build.sh release
gzip -9 dev/unix/install.sh
cd dev/unix
scp install.sh.gz <LAPTOP>:install.rhel.sh.gz

To build OpenSSL 1.0.1 version:

git pull
OPENSSL_DIR=/path/to/1.0.1/install/ cargo build --release
./dev/unix/build.sh release
gzip -9 dev/unix/install.sh
cd dev/unix
scp install.sh.gz <LAPTOP>:install.1.0.sh.gz

To build OpenSSL 1.1.0 version:

git pull
OPENSSL_DIR=/path/to/1.1.0/install/ cargo build --release
./dev/unix/build.sh release
gzip -9 dev/unix/install.sh
cd dev/unix
scp install.sh.gz <LAPTOP>:install.1.1.sh.gz

On laptop:

mv ~/install.*.sh.gz ./
gunzip install.*.sh.gz
mv install.rhel.sh notion-$VERSION-linux-openssl-rhel.sh
mv install.1.0.sh notion-$VERSION-linux-openssl-1.0.sh
mv install.1.1.sh notion-$VERSION-linux-openssl-1.1.sh

macOS

git pull
cargo build --release
./dev/unix/build.sh release
mv dev/unix/install.sh ./notion-$VERSION-macos.sh

Publish

  • Draft a new release
  • name: "v$VERSION", tag_name: "v$VERSION"
  • check prerelease
  • upload the two shell scripts
  • click publish
  • update the latest-version in https://github.com/notion-cli/www to $VERSION (without the leading 'v')

Smoke test

  • curl -sSLf https://get.notionjs.com | bash
  • open new terminal
  • notion version should report the new $VERSION

Clone this wiki locally