Skip to content

Commit 5d6851c

Browse files
authored
Merge pull request #102 from github/kpaulisse-releasing
Document release procedure
2 parents e38c57c + c9280f5 commit 5d6851c

File tree

1 file changed

+47
-8
lines changed

1 file changed

+47
-8
lines changed

doc/dev/releasing.md

Lines changed: 47 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,11 @@ The project maintainers are responsible for bumping the version number, regenera
44

55
## Local testing
66

7-
To test the new version of `octocatalog-diff` in the Puppet repository:
7+
*This procedure is performed by a GitHubber.*
88

9-
0. In the Puppet checkout, start a new branch based off master.
9+
To test the new version of `octocatalog-diff` in the GitHub Puppet repository:
10+
11+
0. In a checkout of the GitHub Puppet repository, start a new branch based off master.
1012
0. In the `octocatalog-diff` checkout:
1113
- Ensure that the desired branch is checked out.
1214
- Choose a unique internal version number which has never been used in CI. A good guideline is that if you're planning to release a version `0.6.0` then for these tests, use `0.6.0a`, `0.6.0b`, ...
@@ -23,25 +25,62 @@ To test the new version of `octocatalog-diff` in the Puppet repository:
2325
2426
0. Back in the Puppet checkout, ensure that the changes are as expected (updates to Gemfile / Gemfile.lock, addition of new gem). Push the change and build appropriate CI job(s) to validate the changes.
2527
26-
## Merging
28+
## Merging one PR
29+
30+
This section is useful when releasing a new version based on one PR submitted by a contributor. Following this workflow is important so that the contributor gets appropriate credit in the revision history for his or her work.
31+
32+
0. In your local checkout, start a new branch based off master.
33+
0. Add the contributor's repository as a remote. For example:
34+
35+
```
36+
git remote add octocat https://github.com/octocat/octocatalog-diff.git
37+
```
38+
39+
0. Merge in the contributor's branch into your own. For example:
40+
41+
```
42+
git merge octocat/some-branch
43+
```
44+
45+
0. Update `.version` and `doc/CHANGELOG.md` appropriately. In CHANGELOG you should link to the PR submitted by the contributor (not the PR you're creating now).
46+
0. Commit your changes to `.version` and `doc/CHANGELOG.md`.
47+
0. If necessary, auto-generate the build documentation, and commit the changes to your branch.
48+
49+
```
50+
rake doc:build
51+
```
52+
53+
0. Open a Pull Request based on your branch. Confirm that the history is correct, showing the contributor's commits first, and then your commit(s) updating the version file, change log, and/or auto-generated documentation.
54+
0. Ensure that CI tests are all passing.
55+
0. Ensure that you've performed "local testing" within GitHub (typically, ~1 day) to confirm the changes.
56+
0. Merge your PR and delete your branch.
57+
0. Confirm that the contributor's PR now appears as merged, and any associated issues have been closed.
58+
59+
## Merging multiple PRs
60+
61+
If multiple PRs will constitute a release, it's generally easier to merge each such PR individually, and then create a separate PR afterwards to update the necessary files.
2762
28-
0. If necessary, complete a Pull Request to update the [version file](/.version).
29-
0. If necessary, auto-generate the build documentation.
63+
0. Merge all constituent PRs and ensure that any associated issues have been closed.
64+
0. Create your own branch based off master.
65+
0. Update `.version` and `doc/CHANGELOG.md` appropriately. In CHANGELOG you should link to the PR submitted by the contributor (not the PR you're creating now).
66+
0. Commit your changes to `.version` and `doc/CHANGELOG.md`.
67+
0. If necessary, auto-generate the build documentation, and commit the changes to your branch.
3068
3169
```
3270
rake doc:build
3371
```
3472
73+
0. Open a Pull Request based on your branch.
3574
0. Ensure that CI tests are all passing.
36-
0. Merge and delete the branch.
75+
0. Ensure that you've performed "local testing" within GitHub (typically, ~1 day) to confirm the changes.
76+
0. Merge your PR and delete your branch.
3777
3878
## Releasing
3979
4080
Generally, a new release will correspond to a merge to master of one or more Pull Requests.
4181
4282
0. Ensure that all changes associated with the release have been merged to master.
43-
- Merge all Pull Requests associated with release.
44-
- If necessary, complete a Pull Request to update the [change log](/doc/CHANGELOG.md).
83+
- Merge all Pull Requests associated with release, including the version number bump, change log update, etc.
4584
- If necessary (for significant changes), complete a Pull Request to update the top-level README file.
4685
0. Ensure the the master branch is checked out on your system.
4786
0. Run the release procedure:

0 commit comments

Comments
 (0)