Skip to content

Commit 04602ac

Browse files
authored
final tweaks for BSON 5 release (#324)
1 parent 95dfbcd commit 04602ac

File tree

4 files changed

+31
-8
lines changed

4 files changed

+31
-8
lines changed

release.sh

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,26 @@ NAME=bson
66
RELEASE_NAME=bson-ruby-release
77
VERSION_REQUIRE=bson/version
88
VERSION_CONSTANT_NAME=BSON::VERSION
9+
CMD=echo
910

1011
if ! test -f gem-private_key.pem; then
1112
echo "gem-private_key.pem missing - cannot release" 1>&2
1213
exit 1
1314
fi
1415

16+
if test -z "$PRODUCTION_RELEASE"; then
17+
echo "PRODUCTION_RELEASE is not set. The script will run in 'dry run'"
18+
echo "mode. The gems will be built, but not actually published. To"
19+
echo "publish the gems, set the PRODUCTION_RELEASE env variable to 1 and"
20+
echo "re-run this script."
21+
else
22+
echo "PRODUCTION_RELEASE is set. Gems will be built and published."
23+
CMD=''
24+
fi
25+
26+
echo
27+
read -p "-- Press RETURN to continue, or CTRL-C to abort --"
28+
1529
VERSION=`ruby -Ilib -r$VERSION_REQUIRE -e "puts $VERSION_CONSTANT_NAME"`
1630

1731
echo "Releasing $NAME $VERSION"
@@ -41,8 +55,13 @@ echo Built: $NAME-$VERSION.gem
4155
echo Built: $NAME-$VERSION-java.gem
4256
echo
4357

44-
git tag -a v$VERSION -m "Tagging release: $VERSION"
45-
git push origin v$VERSION
58+
if test -z "$PRODUCTION_RELEASE"; then
59+
echo "*** SHOWING COMMANDS IN 'DRY RUN' MODE ***"
60+
echo
61+
fi
62+
63+
$CMD git tag -a v$VERSION -m "Tagging release: $VERSION"
64+
$CMD git push origin v$VERSION
4665

47-
gem push $NAME-$VERSION.gem
48-
gem push $NAME-$VERSION-java.gem
66+
$CMD gem push $NAME-$VERSION.gem
67+
$CMD gem push $NAME-$VERSION-java.gem

release/jruby/Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM debian:9
1+
FROM debian:latest
22

33
ENV DEBIAN_FRONTEND=noninteractive
44

@@ -7,7 +7,7 @@ ENV DEBIAN_FRONTEND=noninteractive
77
# https://github.com/hazelcast/hazelcast/issues/14214
88

99
RUN apt-get update && \
10-
apt-get -y install openjdk-8-jdk ruby git curl make g++
10+
apt-get -y install openjdk-17-jdk ruby git curl make g++
1111

1212
WORKDIR /rubies
1313
COPY release/jruby/install.sh /rubies/

release/jruby/install.sh

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,8 @@ cd /rubies
88
git clone https://github.com/rbenv/ruby-build.git
99
PREFIX=/usr ./ruby-build/install.sh
1010

11-
ruby-build -v jruby-9.3.13.0 /rubies/jruby
11+
# JRuby 9.3.9.0 is the most recent version that uses
12+
# JOpenSSL 0.12.2. More recent versions use JOpenSSL 0.14.2,
13+
# which appears to be unable to build signed gems.
14+
# See: https://github.com/jruby/jruby-openssl/issues/292
15+
ruby-build -v jruby-9.3.9.0 /rubies/jruby

release/mri/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM debian:10
1+
FROM debian:latest
22

33
ENV DEBIAN_FRONTEND=noninteractive
44

0 commit comments

Comments
 (0)