2
2
3
3
set -e
4
4
5
+ log () {
6
+ echo " [release] $@ "
7
+ }
8
+
5
9
if [[ pitr != $( whoami) ]]
6
10
then
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."
9
13
fi
10
14
11
-
12
15
version=$( ruby -r ./lib/concurrent/version -e ' puts Concurrent::VERSION' )
13
16
edge_version=$( ruby -r ./lib/concurrent/version -e ' puts Concurrent::EDGE_VERSION' )
14
17
(echo ${version} | grep pre) && prerelease=' true' || prerelease=' false'
15
18
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 "
19
22
20
23
set -x
21
24
22
- mriVersion=" 2.3.1 "
23
- jrubyVersion=" jruby-9.1.6 .0"
25
+ mriVersion=" 2.4.0 "
26
+ jrubyVersion=" jruby-9.1.7 .0"
24
27
25
28
if [[ " $@ " =~ ' build' || $@ =~ ' all' ]]
26
29
then
27
- echo Building
30
+ log Building
28
31
32
+ rbenv versions | grep $mriVersion
29
33
export RBENV_VERSION=$mriVersion
30
34
docker-machine status | grep Running || docker-machine start
31
35
eval $( docker-machine env --shell sh default)
35
39
bundle exec rake build
36
40
docker-machine stop
37
41
42
+ rbenv versions | grep $jrubyVersion
38
43
export RBENV_VERSION=$jrubyVersion
39
44
rbenv version
40
45
rm Gemfile.lock || true
43
48
bundle exec rake build
44
49
fi
45
50
46
- if [[ " $@ " =~ " test" || $@ =~ ' all' ]]
51
+ if [[ " $@ " =~ " test" ]] # || $@ =~ 'all' ]]
47
52
then
53
+ log Testing
54
+ # TODO (pitr-ch 24-Feb-2017): fix it's unreliable
55
+
48
56
cd ..
49
57
# TODO (pitr-ch 17-Dec-2016): dry: duplicates rake task
50
58
rspec_options=' --color --backtrace --seed 1 --format documentation --tag ~unfinished --tag ~notravis --tag ~buggy'
62
70
63
71
# Install and test JRuby version
64
72
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
66
74
gem install concurrent-ruby/pkg/concurrent-ruby-edge-${edge_version} .gem
67
75
ruby -r concurrent-edge -S rspec concurrent-ruby/spec ${rspec_options}
68
76
gem uninstall concurrent-ruby-edge --version ${edge_version}
75
83
76
84
if [[ " $@ " =~ " push" || $@ =~ ' all' ]]
77
85
then
78
- echo Pushing
86
+ log Pushing
79
87
80
88
# Test that we are on pushed commit
81
89
git fetch
87
95
git tag " edge-v${edge_version} "
88
96
git push --tags
89
97
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
+
90
114
# 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
+
91
135
# https://developer.github.com/v3/repos/releases/#create-a-release
92
136
# token=$(cat .githubtoken)
93
137
# curl -X POST \
@@ -104,18 +148,4 @@ then
104
148
# }" \
105
149
# "https://api.github.com/repos/pitr-ch/concurrent-ruby/releases"
106
150
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
118
151
fi
119
-
120
-
121
-
0 commit comments