Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release v4.5.0 #6149

Open
13 of 17 tasks
tvdeyen opened this issue Feb 19, 2025 · 2 comments
Open
13 of 17 tasks

Release v4.5.0 #6149

tvdeyen opened this issue Feb 19, 2025 · 2 comments
Assignees

Comments

@tvdeyen
Copy link
Member

tvdeyen commented Feb 19, 2025

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.

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.

💎 GitHub and RubyGems

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.
  • Make sure everything looks good in the new PR.
  • 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
bin/rake release

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

  • Release on RubyGems

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.

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.

  • Merge Post-release chores after having released Solidus vX.Y
  • Merge Post-creation chores after new vX.Y patch branch

🌱 Ecosystem

📣 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.

🧩 Extensions

For each officially supported extension we need to ensure it is compatible with the new Solidus version.

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
@tvdeyen tvdeyen self-assigned this Feb 19, 2025
@fthobe
Copy link
Contributor

fthobe commented Feb 20, 2025

Do you want me to write a couple of paragraphs around SEO and meta for blog and api?

Also promotion deserves a screenshot maybe

@tvdeyen
Copy link
Member Author

tvdeyen commented Feb 20, 2025

Do you want me to write a couple of paragraphs around SEO and meta for blog and api?

Also promotion deserves a screenshot maybe

That would be nice. Thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants