Skip to content

Release checklist

Charles Pierce edited this page May 20, 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.

macOS

git pull
./dev/unix/release.sh
mv target/release/volta-$VERSION-macos.tar.gz ~/

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
./dev/unix/release.sh
cd target/release
scp volta-$VERSION-linux-openssl-rhel.tar.gz <LAPTOP>:~

To build OpenSSL 1.0.1 version:

git pull
OPENSSL_DIR=/path/to/1.0.1/install/ ./dev/unix/release.sh
cd target/release
mv volta-$VERSION-linux-openssl-rhel.tar.gz volta-$VERSION-linux-openssl-1.0.tar.gz
scp volta-$VERSION-linux-openssl-1.0.tar.gz <LAPTOP>:~

To build OpenSSL 1.1.0 version:

git pull
OPENSSL_DIR=/path/to/1.1.0/install/ ./dev/unix/release.sh
cd target/release
mv volta-$VERSION-linux-openssl-rhel.tar.gz volta-$VERSION-linux-openssl-1.1.tar.gz
scp volta-$VERSION-linux-openssl-1.1.tar.gz <LAPTOP>:~

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/volta-cli/www to $VERSION (without the leading 'v')

Smoke test

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

Clone this wiki locally