Skip to content

Commit

Permalink
Update release script
Browse files Browse the repository at this point in the history
  • Loading branch information
pitr-ch committed Feb 26, 2017
1 parent ae94aaf commit 06cb0c5
Showing 1 changed file with 56 additions and 26 deletions.
82 changes: 56 additions & 26 deletions support/release.sh
Expand Up @@ -2,30 +2,34 @@


set -e set -e


log() {
echo "[release] $@"
}

if [[ pitr != $(whoami) ]] if [[ pitr != $(whoami) ]]
then then
echo "!!! This script takes a lot of assumptions based on @pitr-ch's environment." log "!!! This script takes a lot of assumptions based on @pitr-ch's environment."
echo "!!! Use it at your own risk." log "!!! Use it at your own risk."
fi fi



version=$(ruby -r ./lib/concurrent/version -e 'puts Concurrent::VERSION') version=$(ruby -r ./lib/concurrent/version -e 'puts Concurrent::VERSION')
edge_version=$(ruby -r ./lib/concurrent/version -e 'puts Concurrent::EDGE_VERSION') edge_version=$(ruby -r ./lib/concurrent/version -e 'puts Concurrent::EDGE_VERSION')
(echo ${version} | grep pre) && prerelease='true' || prerelease='false' (echo ${version} | grep pre) && prerelease='true' || prerelease='false'


echo "concurrent-ruby: $version" log "concurrent-ruby: $version"
echo "concurrent-ruby-edge: $edge_version" log "concurrent-ruby-edge: $edge_version"
echo "prerelease: $prerelease" log "prerelease: $prerelease"


set -x set -x


mriVersion="2.3.1" mriVersion="2.4.0"
jrubyVersion="jruby-9.1.6.0" jrubyVersion="jruby-9.1.7.0"


if [[ "$@" =~ 'build' || $@ =~ 'all' ]] if [[ "$@" =~ 'build' || $@ =~ 'all' ]]
then then
echo Building log Building


rbenv versions | grep $mriVersion
export RBENV_VERSION=$mriVersion export RBENV_VERSION=$mriVersion
docker-machine status | grep Running || docker-machine start docker-machine status | grep Running || docker-machine start
eval $(docker-machine env --shell sh default) eval $(docker-machine env --shell sh default)
Expand All @@ -35,6 +39,7 @@ then
bundle exec rake build bundle exec rake build
docker-machine stop docker-machine stop


rbenv versions | grep $jrubyVersion
export RBENV_VERSION=$jrubyVersion export RBENV_VERSION=$jrubyVersion
rbenv version rbenv version
rm Gemfile.lock || true rm Gemfile.lock || true
Expand All @@ -43,8 +48,11 @@ then
bundle exec rake build bundle exec rake build
fi fi


if [[ "$@" =~ "test" || $@ =~ 'all' ]] if [[ "$@" =~ "test" ]] #|| $@ =~ 'all' ]]
then then
log Testing
# TODO (pitr-ch 24-Feb-2017): fix it's unreliable

cd .. cd ..
# TODO (pitr-ch 17-Dec-2016): dry: duplicates rake task # TODO (pitr-ch 17-Dec-2016): dry: duplicates rake task
rspec_options='--color --backtrace --seed 1 --format documentation --tag ~unfinished --tag ~notravis --tag ~buggy' rspec_options='--color --backtrace --seed 1 --format documentation --tag ~unfinished --tag ~notravis --tag ~buggy'
Expand All @@ -62,7 +70,7 @@ then


# Install and test JRuby version # Install and test JRuby version
export RBENV_VERSION=$jrubyVersion export RBENV_VERSION=$jrubyVersion
gem push concurrent-ruby/pkg/concurrent-ruby-${version}-java.gem gem install concurrent-ruby/pkg/concurrent-ruby-${version}-java.gem
gem install concurrent-ruby/pkg/concurrent-ruby-edge-${edge_version}.gem gem install concurrent-ruby/pkg/concurrent-ruby-edge-${edge_version}.gem
ruby -r concurrent-edge -S rspec concurrent-ruby/spec ${rspec_options} ruby -r concurrent-edge -S rspec concurrent-ruby/spec ${rspec_options}
gem uninstall concurrent-ruby-edge --version ${edge_version} gem uninstall concurrent-ruby-edge --version ${edge_version}
Expand All @@ -75,7 +83,7 @@ fi


if [[ "$@" =~ "push" || $@ =~ 'all' ]] if [[ "$@" =~ "push" || $@ =~ 'all' ]]
then then
echo Pushing log Pushing


# Test that we are on pushed commit # Test that we are on pushed commit
git fetch git fetch
Expand All @@ -87,7 +95,43 @@ then
git tag "edge-v${edge_version}" git tag "edge-v${edge_version}"
git push --tags git push --tags


# Push to rubygems
gem push pkg/concurrent-ruby-${version}.gem
gem push pkg/concurrent-ruby-${version}-java.gem
gem push pkg/concurrent-ruby-edge-${edge_version}.gem
gem push pkg/concurrent-ruby-ext-${version}.gem
gem push pkg/concurrent-ruby-ext-${version}-x64-mingw32.gem
gem push pkg/concurrent-ruby-ext-${version}-x86-mingw32.gem
fi

if [[ "$@" =~ "notify" || $@ =~ 'all' ]]
then

log "Notifying"

log "TODO: create release"

# TODO (pitr-ch 16-Dec-2016): Release # TODO (pitr-ch 16-Dec-2016): Release
# Patch release.
#
# concurrent-ruby:
#
# - Nothing
#
# concurrent-ruby-edge:
#
# - New promises' API renamed, lots of improvements, edge bumped to 0.3.0
# - Incompatible with previous 0.2.3 version

log "TODO: send email same as release"

# TODO (pitr-ch 17-Dec-2016): send email
# same as release

# Update documentation
# TODO (pitr-ch 24-Feb-2017): check
bundle exec rake yard:push

# https://developer.github.com/v3/repos/releases/#create-a-release # https://developer.github.com/v3/repos/releases/#create-a-release
# token=$(cat .githubtoken) # token=$(cat .githubtoken)
#curl -X POST \ #curl -X POST \
Expand All @@ -104,18 +148,4 @@ then
# }" \ # }" \
# "https://api.github.com/repos/pitr-ch/concurrent-ruby/releases" # "https://api.github.com/repos/pitr-ch/concurrent-ruby/releases"


# Push to rubygems
gem push pkg/concurrent-ruby-${version}.gem
gem push pkg/concurrent-ruby-${version}-java.gem
gem push pkg/concurrent-ruby-edge-${edge_version}.gem
gem push pkg/concurrent-ruby-ext-${version}.gem
gem push pkg/concurrent-ruby-ext-${version}-x64-mingw32.gem
gem push pkg/concurrent-ruby-ext-${version}-x86-mingw32.gem

# TODO (pitr-ch 17-Dec-2016): send email

# TODO (pitr-ch 17-Dec-2016): update documentation
fi fi



0 comments on commit 06cb0c5

Please sign in to comment.