Skip to content

Commit 89dc52c

Browse files
committed
Update maintaining
[ci skip]
1 parent fb6ea7a commit 89dc52c

File tree

1 file changed

+33
-15
lines changed

1 file changed

+33
-15
lines changed

MAINTAINING.md

Lines changed: 33 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -215,30 +215,48 @@ suffix to the version for pre-release versions. We usually use this to issue
215215
release candidates prior to an actual release. A version number in this case
216216
might look like `4.0.0.rc1`.
217217

218-
### Releasing a new version
218+
### Preparing and releasing a new version
219219

220-
Releasing a new version is very simple.
221-
222-
First, you'll want to be given ownership permissions for the Ruby gem itself.
223-
If you want to give someone else these rights, you can use:
220+
In order to release any versions at all, you will need to have been added as
221+
an owner of the Ruby gem. If you want to give someone else these permissions,
222+
then run:
224223

225224
```bash
226225
gem owner shoulda-matchers -a <email address>
227226
```
228227

229-
Next, you'll want to update the `VERSION` constant in
230-
`lib/shoulda/matchers/version.rb`. This constant is referenced in the gemspec
231-
and is used in the Rake tasks to publish the gem on RubyGems as well as generate
232-
documentation.
228+
Assuming you have permission to publish a new version to RubyGems, then this is
229+
how you release a version:
233230

234-
Finally, you'll want to run:
231+
1. First, you'll want to [make sure that the changelog is up to
232+
date](#updating-the-changelog).
235233

236-
```bash
237-
rake release
238-
```
234+
2. Next, [generate the documentation locally](#generating-documentation) and do
235+
a quick spot-check (pull up the Classes and Methods menus, click around a
236+
bit) to ensure that nothing looks awry.
237+
238+
3. Next, you'll want to update the `VERSION` constant in
239+
`lib/shoulda/matchers/version.rb`. This constant is referenced in the gemspec
240+
and is used in the Rake tasks to publish the gem on RubyGems as well as
241+
generate documentation.
242+
243+
4. Next, make sure that the current version is updated in the [Quick Links
244+
section of the README](README.md#quick-links).
245+
246+
5. Assuming that everything looks good, place your changes to NEWS,
247+
`version.rb`, and README in their own commit titled "Bump version to
248+
*X.Y.Z*". Push this to GitHub (you can use `[ci skip]`) in the body of the
249+
commit message to skip CI for this commit). **There is no going back after
250+
this point!**
251+
252+
6. Once GitHub has the version-change commit, you will run:
253+
254+
```bash
255+
rake release
256+
```
239257

240-
This will not only push the gem to RubyGems, but also publish the docs to GitHub
241-
Pages.
258+
This will not only push the gem to RubyGems, but also publish the docs to
259+
GitHub Pages.
242260

243261
## Updating the landing page
244262

0 commit comments

Comments
 (0)