-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
How to release Solidus
- Check the changelog draft (this is kept up to date with workflow automations)
- Run the prepare release workflow selecting the maintenance branch of the relevant minor (e.g. to release
v1.2.3
you need to select thev1.2
branch) - Check and merge the automatically generated PR updating the version numbers and the changelog
- Checkout and update the relevant maintenance branch (e.g.
git checkout v1.2; git reset --hard origin/v1.2
) *) - Build and release the gems to RubyGems
bundle exec release
(you'll be asked for 2FA for each of the gems)
See also this section for more details on the prepare release workflow.
*) Assuming your Solidus remote is called
origin
. If you use a fork yourorigin
is most likely your fork and you should have aupstream
remote pointing tohttps://github.com/solidusio/solidus.git
.
There are many steps still required to release a minor, please create a new issue using the new_minor_release.md
template and let it guide you step by step.
Click here to create a new issue with the new_minor_release.md
template
Notice about major releases
To release a new Major version, we try to respect this simple principle:
The only difference between a Major version and the last Minor of the past series is the removal of deprecated code.
For example, v2.11 is identical to v3.0. The only difference is that in v3.0, we removed all of the code deprecated during the v2.x cycle.
This is not always possible. Some things cannot be easily deprecated. For those exceptions, we just make the change in the major, being as explicit as possible about it in the upgrade instructions.
Please, always check if there are PRs on hold with the label release:major
before releasing a new major.
Notice about solidus_frontend
removal from the meta-gem
For Solidus ~> 3.2
, please remember to bump solidus_frontend at the target version before releasing a new version of the core gems.
Before releasing, we also need to bump the solidus_frontend
dependency on the main .gemspec
file.