solidusio/solidus

Release v4.2.0

elia opened this issue · 0 comments

elia commented

New minor release of Solidus

We are committed to release every quarter in order to have a constant and predictable cadence for our deliverables.

For more information, check out our Release Policy page.

Detailed list of steps for the release

Here are the steps to follow to release a new minor version.

They are written in the order required to make the process work. However, some material necessary for the release should be prepared before starting with those steps, like the text of the upgrade guide or the messages to send to the community.

Release preparation

  • Be sure there are no pending PRs that you want to include in the next minor.
  • Run the Prepare Release Workflow, leaving main as the branch and the checkbox to prepare the next major unchecked (unless necessary).
  • A new auto-generated PR will appear; be sure everything looks good and merge it.

More details about the release workflows are described on our
Release pipeline automation wiki page,
which we encourage to review if the assignee is not familiar with the topic.

Release the Solidus gems on Rubygems

To officially release the Solidus gems, you need to have permissions on RubyGems, with 2FA enabled.

Open Solidus on your local machine and run:

git checkout main
git pull
gem release

You will be prompted to enter your 2FA code multiple times, one for each solidus' subgems.

  • Release on RubyGems done!

After-release Chores

Now that Solidus has been released, we need to cleanup the main branch to get ready for
the next release. As you may have noticed, when the "Release Preparation" PR has been merged, a new PR has been automatically created. That PR already contains the code to get our repository
clean and ready.

  • Post-release chores after having released Solidus vX.Y merged.

There's also another PR auto-generated, which takes care of getting the newly created branch ready to accept new contributions and ready for the next patch release.

  • Post-creation chores after new vX.Y patch branch merged.

Outside the main repository

📣 Announcements

  • [solidus.io] Create a new blog post that links to the upgrade instructions on our guides.
  • [Slack] Notify the community in the #general channel.
  • [RubyFlow] Post an update to get visibility on RubyWeekly.

New Minor Release of extension_name

Requires permission to both push to the master/main branch and to rubygems.

  1. Ensure that the CI is green
  2. Update the version in lib/solidus_extension_name/version.rb
  3. Commit the changes with the message Release vX.Y.Z
  4. Run bin/rake release (this will build, create the git tag, and push to both git and rubygems)
  5. Create the GitHub release and auto-generate the changelog