-
-
Notifications
You must be signed in to change notification settings - Fork 925
ReleaseDocumentation
Thomas E Enebo edited this page Feb 11, 2025
·
52 revisions
-
A. Pre-prep
- Make sure a release has no blockers (tests in later steps are good at shagging issues out)
- Make sure there are no untargetted closed issues or PRs
- Move remaining open issues for the current issues to future release milestones
-
B. specify version for release:
export JRUBY_VERSION=9.4.12.0
-
C. Run tool/release.sh to push bits (same as the following steps):
what script does
* `echo $JRUBY_VERSION > VERSION` * `mvn` * `git add VERSION core/pom.xml lib/pom.xml pom.xml shaded/pom.xml` * `git commit -m "Version $JRUBY_VERSION updated for release"` * `cd .. && rm -rf release && git clone jruby release && cd release` * `mvn clean deploy -Psonatype-oss-release -Prelease` * `jrake post_process_artifacts` (puts s3 stuff in release subdir) * push to s3 -
D. Sanity tests
- Simple rails app with migration(s)
- unpack bin dist and make sure it works
- look for unwanted files
- look for it being too big
- unpack src dist and compile it
- Verify windows installers
- Does jruby-complete work with rubygems (especially on windows)
-
E. Release Notes and Web site prep (jruby.github.io)
- Run
rake bundle exec rake update_for_version
. This will:
what script does
- edit _config.yml
- edit downloads.html
- add _posts/2013-12-06-jruby-1-7-9.markdown
- add files/downloads/9.3.3.0/index.html
- edit files/downloads/index.html to add new release
- Add text to newly generated _post to highlight interesting fixes/features
-
bundle exec rake server
and check all links
- Run
-
F. Publish
- F.A Finalize Bits
gem push "jruby-jars-${JRUBY_VERSION}.gem"
- close and release snapshot repo on sonatype (https://oss.sonatype.org - snapshot repos)
- push website (once maven has propagated fully and we can see our artifacts)
- add release to github
- use markdown from website posting
- attach binaries: jruby-bin-9.3.2.0.tar.gz, jruby-bin-9.3.2.0.zip. jruby-src-9.3.2.0.tar.gz, jruby-src-9.3.2.0.zip. jruby_windows_9_3_2_0.exe, jruby_windows_x64_9_3_2_0.exe
- use markdown from website posting
- F.B Update to next development cycle
git tag $JRUBY_VERSION
-
git push origin $JRUBY_VERSION
to propagate tag once release artifacts are out - edit VERSION for next version
-
mvn
to generate new pom files git add VERSION core/pom.xml lib/pom.xml pom.xml shaded/pom.xml
git commit -m "Update for next development cycle"
- close milestone on GH and open new milestone for next release
- F.A Finalize Bits
-
G. Notifications
- Send emails to ruby-talk@ruby-lang.org, jruby@ruby-lang.org and release stakeholders (bcc to not share email address)
- tweet, toot, facebook, linkedin, reddit
- If latest highest support level release (new point releases of older JRubys should not cause these to update):
- /msg chanserv OP #jruby
- /msg chanserv TOPIC #jruby Get 9.4.12.0! http://jruby.org/ | http://wiki.jruby.org | http://logs.jruby.org/jruby/ | http://bugs.jruby.org | Paste at http://gist.github.com
- Update room info for https://app.element.io/#/room/#jruby:matrix.org
- Send out to all known packagers JRubyDistributions
- Change URLs to have SHA256 after file url#SHA256
- Update all Ruby installers and Docker
- Send PR to https://github.com/rvm/rvm with PR like: https://github.com/rvm/rvm/pull/5145
- Update config/db, config/known, config/known_strings, config/md5 and config/sha512
- Push PR and add entry to CHANGELOG
- Send PR to https://github.com/sstephenson/ruby-build with PR like: https://github.com/olleolleolle/ruby-build/commit/3b14690ddec4f90cbc264c54af16d617f845c94a
- Run
script/update_jruby <version> share
and submit PR
- Run
- Send PR to https://github.com/postmodern/ruby-versions with file checksums and version numbers as detailed here: https://github.com/postmodern/ruby-versions/blob/master/CONTRIBUTING.md
- Run
update.sh jruby <version>
and submit PR
- Run
- Update official Docker images
- Update jruby/docker-jruby using the update.sh script, which will produce a diff like this: https://github.com/jruby/docker-jruby/commit/c35ff88ae9943d120c0707c68caa37611cf7093b
- Update the 9.3/VERSION or 9.4/VERSION and run the update.sh script
- Send PR to https://github.com/docker-library/official-images updating the
library/jruby
file like this PR: https://github.com/docker-library/official-images/pull/9318- See https://github.com/jruby/jruby/issues/5598#issuecomment-748281323 for a description of the process.
- Update jbang catalog at https://github.com/jruby/jbang-catalog
- Send PR to https://github.com/rvm/rvm with PR like: https://github.com/rvm/rvm/pull/5145
-
Inform support customers of new release (@headius)