8000 ReleaseDocumentation · jruby/jruby Wiki · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

ReleaseDocumentation

Thomas E Enebo edited this page Feb 11, 2025 · 52 revisions

JRuby release preparation

  • 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
  • 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
    • 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
  • G. Notifications

  • Inform support customers of new release (@headius)

Clone this wiki locally
0