|
| 1 | +# Releasing things |
| 2 | + |
| 3 | +In April 2025 the current way we do releases in this repo is not great. |
| 4 | +Fixing it for real will take some time that the team doesn't have it today. |
| 5 | + |
| 6 | +So here is a step by step half automated, half manual way to release a new version: |
| 7 | + |
| 8 | + * Someone makes a PR that changes things for the better. |
| 9 | + * The PR gets reviewed, approved and merged to `master`. |
| 10 | + * Someone from the team (from now called: Marcel) decides to make a release |
| 11 | + * Marcel creates a new branch from master called `new-release` |
| 12 | + * Marcel makes a PR for that new branch. |
| 13 | + * Marcel adds one of the release labels (release-major, release-minor, release-patch) to the PR. He decides to add `release-major`. |
| 14 | + * Marcel reads [version.rb](https://github.com/messagebird/ruby-rest-api/blob/master/lib/messagebird/version.rb#L5) and sees that the version is `5.0.0`. |
| 15 | + * Marcel thinks: if I'm doing a *major* release the next one will be `6.0.0`. |
| 16 | + * Marcel manually changes the versions on these files: |
| 17 | + * [version.rb](https://github.com/messagebird/ruby-rest-api/blob/master/lib/messagebird/version.rb#L5) |
| 18 | + * Gemfile.lock (not on git. not sure if it's important but :shrug: ) |
| 19 | +* Commit. Push to the `new-release` branch. |
| 20 | +* Back to that release PR. Marcel writes a nice body on the PR. It's important to do a markdon title with `##` somewhere. Everything after that double pound will be put on the body of the release. |
| 21 | +* Put the changelog in there, man. |
| 22 | +* Check (this PR)[https://github.com/messagebird/ruby-rest-api/pull/95] out for an example. |
| 23 | +* Be sure that the CI is not faling at anything. |
| 24 | +* Goto ruby gems |
| 25 | +* Login using the (messagebird account)[https://rubygems.org/profiles/messagebird]. If you don't have access to it ask Jeremy, Marcel, Rene or Bob. |
| 26 | +* Goto (settings)[https://rubygems.org/settings/edit] |
| 27 | +* Change the MFA level to "UI and gem signin". |
| 28 | +* Merge that PR |
| 29 | +* Check that |
| 30 | + * a new release got (published on github)[https://github.com/messagebird/ruby-rest-api/releases] |
| 31 | + * that a new release got push to the (rubygems page)[https://rubygems.org/gems/messagebird-rest] |
| 32 | +* Great success |
| 33 | +* Let's revert that dangerous config on rubygems |
| 34 | +* Goto (settings)[https://rubygems.org/settings/edit] |
| 35 | +* Change the MFA level to "UI and API (Recommended)". |
| 36 | +* Greatest success |
0 commit comments