You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: doc/dev/releasing.md
+47-8Lines changed: 47 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,9 +4,11 @@ The project maintainers are responsible for bumping the version number, regenera
4
4
5
5
## Local testing
6
6
7
-
To test the new version of `octocatalog-diff` in the Puppet repository:
7
+
*This procedure is performed by a GitHubber.*
8
8
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.
10
12
0. In the `octocatalog-diff` checkout:
11
13
- Ensure that the desired branch is checked out.
12
14
- 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:
23
25
24
26
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.
25
27
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:
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.
27
62
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.
30
68
31
69
```
32
70
rake doc:build
33
71
```
34
72
73
+
0. Open a Pull Request based on your branch.
35
74
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.
37
77
38
78
## Releasing
39
79
40
80
Generally, a new release will correspond to a merge to master of one or more Pull Requests.
41
81
42
82
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.
45
84
- If necessary (for significant changes), complete a Pull Request to update the top-level README file.
46
85
0. Ensure the the master branch is checked out on your system.
0 commit comments