22
33set -e
44
5+ log () {
6+ echo " [release] $@ "
7+ }
8+
59if [[ pitr != $( whoami) ]]
610then
7- echo " !!! This script takes a lot of assumptions based on @pitr-ch's environment."
8- echo " !!! Use it at your own risk."
11+ log " !!! This script takes a lot of assumptions based on @pitr-ch's environment."
12+ log " !!! Use it at your own risk."
913fi
1014
11-
1215version=$( ruby -r ./lib/concurrent/version -e ' puts Concurrent::VERSION' )
1316edge_version=$( ruby -r ./lib/concurrent/version -e ' puts Concurrent::EDGE_VERSION' )
1417(echo ${version} | grep pre) && prerelease=' true' || prerelease=' false'
1518
16- echo " concurrent-ruby: $version "
17- echo " concurrent-ruby-edge: $edge_version "
18- echo " prerelease: $prerelease "
19+ log " concurrent-ruby: $version "
20+ log " concurrent-ruby-edge: $edge_version "
21+ log " prerelease: $prerelease "
1922
2023set -x
2124
22- mriVersion=" 2.3.1 "
23- jrubyVersion=" jruby-9.1.6 .0"
25+ mriVersion=" 2.4.0 "
26+ jrubyVersion=" jruby-9.1.7 .0"
2427
2528if [[ " $@ " =~ ' build' || $@ =~ ' all' ]]
2629then
27- echo Building
30+ log Building
2831
32+ rbenv versions | grep $mriVersion
2933 export RBENV_VERSION=$mriVersion
3034 docker-machine status | grep Running || docker-machine start
3135 eval $( docker-machine env --shell sh default)
3539 bundle exec rake build
3640 docker-machine stop
3741
42+ rbenv versions | grep $jrubyVersion
3843 export RBENV_VERSION=$jrubyVersion
3944 rbenv version
4045 rm Gemfile.lock || true
4348 bundle exec rake build
4449fi
4550
46- if [[ " $@ " =~ " test" || $@ =~ ' all' ]]
51+ if [[ " $@ " =~ " test" ]] # || $@ =~ 'all' ]]
4752then
53+ log Testing
54+ # TODO (pitr-ch 24-Feb-2017): fix it's unreliable
55+
4856 cd ..
4957 # TODO (pitr-ch 17-Dec-2016): dry: duplicates rake task
5058 rspec_options=' --color --backtrace --seed 1 --format documentation --tag ~unfinished --tag ~notravis --tag ~buggy'
6270
6371 # Install and test JRuby version
6472 export RBENV_VERSION=$jrubyVersion
65- gem push concurrent-ruby/pkg/concurrent-ruby-${version} -java.gem
73+ gem install concurrent-ruby/pkg/concurrent-ruby-${version} -java.gem
6674 gem install concurrent-ruby/pkg/concurrent-ruby-edge-${edge_version} .gem
6775 ruby -r concurrent-edge -S rspec concurrent-ruby/spec ${rspec_options}
6876 gem uninstall concurrent-ruby-edge --version ${edge_version}
7583
7684if [[ " $@ " =~ " push" || $@ =~ ' all' ]]
7785then
78- echo Pushing
86+ log Pushing
7987
8088 # Test that we are on pushed commit
8189 git fetch
8795 git tag " edge-v${edge_version} "
8896 git push --tags
8997
98+ # Push to rubygems
99+ gem push pkg/concurrent-ruby-${version} .gem
100+ gem push pkg/concurrent-ruby-${version} -java.gem
101+ gem push pkg/concurrent-ruby-edge-${edge_version} .gem
102+ gem push pkg/concurrent-ruby-ext-${version} .gem
103+ gem push pkg/concurrent-ruby-ext-${version} -x64-mingw32.gem
104+ gem push pkg/concurrent-ruby-ext-${version} -x86-mingw32.gem
105+ fi
106+
107+ if [[ " $@ " =~ " notify" || $@ =~ ' all' ]]
108+ then
109+
110+ log " Notifying"
111+
112+ log " TODO: create release"
113+
90114 # TODO (pitr-ch 16-Dec-2016): Release
115+ # Patch release.
116+ #
117+ # concurrent-ruby:
118+ #
119+ # - Nothing
120+ #
121+ # concurrent-ruby-edge:
122+ #
123+ # - New promises' API renamed, lots of improvements, edge bumped to 0.3.0
124+ # - Incompatible with previous 0.2.3 version
125+
126+ log " TODO: send email same as release"
127+
128+ # TODO (pitr-ch 17-Dec-2016): send email
129+ # same as release
130+
131+ # Update documentation
132+ # TODO (pitr-ch 24-Feb-2017): check
133+ bundle exec rake yard:push
134+
91135 # https://developer.github.com/v3/repos/releases/#create-a-release
92136 # token=$(cat .githubtoken)
93137 # curl -X POST \
@@ -104,18 +148,4 @@ then
104148 # }" \
105149 # "https://api.github.com/repos/pitr-ch/concurrent-ruby/releases"
106150
107- # Push to rubygems
108- gem push pkg/concurrent-ruby-${version} .gem
109- gem push pkg/concurrent-ruby-${version} -java.gem
110- gem push pkg/concurrent-ruby-edge-${edge_version} .gem
111- gem push pkg/concurrent-ruby-ext-${version} .gem
112- gem push pkg/concurrent-ruby-ext-${version} -x64-mingw32.gem
113- gem push pkg/concurrent-ruby-ext-${version} -x86-mingw32.gem
114-
115- # TODO (pitr-ch 17-Dec-2016): send email
116-
117- # TODO (pitr-ch 17-Dec-2016): update documentation
118151fi
119-
120-
121-
0 commit comments