123456789_123456789_123456789_123456789_123456789_

Release a new RubyInstaller version

  1. Update the [CHANGELOG.md]) file based on the recommendations of keepachangelog.
  2. Use a headline kind of RubyInstaller-2.4.1-3 - YYYY-MM-DD or set a particular date in ISO format. Hereby 2.4.1 is the base ruby version and -3 is the RubyInstaller package increment. Release candidates of the base ruby are labeled as RubyInstaller-2.5.0.rc1-1 or similar. The RubyInstaller package increment is reset to -1 for each new ruby verison.
  3. In a terminal, make sure you are on master and completely up-to-date with the remote server, then run:

rake release:tag[RubyInstaller-2.4.1-3]

This updates the release date in CHANGELOG.md and adds a git tag like rubyinstaller-2.4.1-3 (based on the headline) and adds the relevant CHANGELOG section as git tag annotation.

  1. git push --follow-tags # Pushes the commit and the tag to the remote server.
  2. After pushing the tag, Github Actions will build and, if successful, uploads it to the github releases.
  3. When it's finished, open the newly created github release, verify that the content and all expected packages and signature files are available. Set the tag name to the name created by rake release:tag. Check the release/prerelease tag and publish the release.

  4. Now pull/clone https://github.com/oneclick/rubyinstaller.org-website

  5. Run rake release:add to fill downloads.yml with missing releases retrieved from github.

  6. RubyInstaller executables are signed per [[Certum's Microsoft Authenticode Code Signing certificates|CertumCodeSigning]]. Make sure osslsigncode is installed.

  7. Run rake release:sign to add a code signature to all exe files just downloaded. This re-signs by gpg and updates the SHA256 hash values. All changed files are deleted from the github release and re-uploaded.

  8. While the uploades run, add a new release post to the _posts directory. But don't alter the download.yaml file while rake release:sign is running!

  9. Manually set attribute show, so that the latest release of each ruby branch is shown on the download page.

  10. Manually set attribute recommended, so that the recommended release for new installations is highlighted on the download page.

  11. Verify everything looks good by running jekyll serve and browsing to http://localhost:4000

  12. Push to the github repository and wait for the updates being available on https://rubyinstaller.org . It can take up to one hour until all nodes in the CDN are up-to-date.