Skip to content

Commit a6b5027

Browse files
committed
some release docs
1 parent aa4967c commit a6b5027

File tree

2 files changed

+40
-0
lines changed

2 files changed

+40
-0
lines changed

README.md

+4
Original file line numberDiff line numberDiff line change
@@ -229,6 +229,10 @@ Documentation
229229
Complete documentation, instructions, and examples are available at:
230230
[https://developers.messagebird.com/](https://developers.messagebird.com/).
231231

232+
Releasing this gem
233+
------------------
234+
[RELEASE.md](./RELEASE.md).
235+
232236
License
233237
-------
234238
The MessageBird REST Client for Ruby is licensed under [The BSD 2-Clause License](http://opensource.org/licenses/BSD-2-Clause). Copyright (c) 2025, MessageBird

RELEASE.md

+36
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
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

Comments
 (0)