Add release process information

This commit is contained in:
Peter Wagenet 2017-04-24 09:41:24 -07:00
parent c5703eb6b9
commit 779cb8f111
2 changed files with 54 additions and 0 deletions

21
RELEASE.md Normal file
View File

@ -0,0 +1,21 @@
# Helix Release Process
0. Verify that CI is passing
0. Update all version number references. (There are a lot, do a search.)
0. Update CHANGELOG.md
0. Run `./scripts/test-release` to make sure packages are ready for release.
0. Commit and push version bump and changelog.
0. Tag version in Git, prefixed with 'v' and push with `git push --tags`
### In `./ruby`
0. `gem build helix-runtime.gemspec`
0. `gem push helix-runtime-VERSION.gem`
### In `./crates/libcruby-sys`
0. `HELIX_LIB_DIR=$PWD cargo publish`
### In `.`
0. `cargo publish`

33
scripts/test-release Executable file
View File

@ -0,0 +1,33 @@
#!/bin/bash
set -x
set -e
DIR=$(dirname "${BASH_SOURCE[0]}")/..
pushd "$DIR/ruby"
bundle install
bundle exec rake
gem build helix_runtime.gemspec
popd
pushd "$DIR/crates/libcruby-sys"
vagrant up
vagrant ssh -c "cd /vagrant/crates/libcruby-sys && ./prepackage.sh"
cargo update
HELIX_LIB_DIR=$PWD cargo package --allow-dirty
popd
pushd $DIR
cargo update
# NOTE: We can't actually verify that we can publish the helix crate
# here since the libcruby-sys crate hasn't been released yet
# cargo package --allow-dirty
popd
pushd $DIR
./scripts/ci-install
rake
popd
echo -e "\n\nReady for Release!"