Skip to content

Commit 1ca19ac

Browse files
authored
Merge pull request #1027 from vbatts/release-checklist
RELEASE: document how to do the release
2 parents 7cddf4f + 12fd09a commit 1ca19ac

File tree

1 file changed

+45
-0
lines changed

1 file changed

+45
-0
lines changed

RELEASES.md

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,3 +49,48 @@ Specifications have a variety of different timelines in their lifecycle.
4949
- Minor and patch releases SHOULD be made on an as-needed basis.
5050

5151
[charter]: https://www.opencontainers.org/about/governance
52+
53+
## Checklist
54+
55+
Releases usually follow a few steps:
56+
57+
* [ ] prepare a pull-request for the release
58+
* [ ] a commit updating `./ChangeLog`
59+
* [ ] `git log --oneline --no-merges --decorate --name-status v1.0.1..HEAD | vim -`
60+
* [ ] `:% s/(pr\/\(\d*\))\(.*\)/\2 (#\1)/` to move the PR to the end of line and match previous formating
61+
* [ ] review `(^M|^A|^D)` for impact of the commit
62+
* [ ] group commits to `Additions:`, `Minor fixes and documentation:`, `Breaking changes:`
63+
* [ ] delete the `(^M|^A|^D)` lines, `:%!grep -vE '(^M|^A|^D)'`
64+
* [ ] merge multi-commit PRs (so each line has a `(#num)` suffix)
65+
* [ ] drop hash and indent, `:'<,'> s/^\w* /^I* /`
66+
* [ ] a commit bumping `./specs-go/version.go` to next version and empty the `VersionDev` variable
67+
* [ ] a commit adding back the "-dev" to `VersionDev`
68+
* [ ] send email to [email protected]
69+
* [ ] copy the exact commit hash for bumping the version from the pull-request (since master always stays as "-dev")
70+
* [ ] count the PRs since last release (that this version is tracking, in the cases of multiple branching), like `git log --pretty=oneline --no-merges --decorate $priorTag..$versionBumpCommit | grep \(pr\/ | wc -l`
71+
* [ ] get the date for a week from now, like `TZ=UTC date --date='next week'`
72+
* [ ] OPTIONAL find a cute animal gif to attach to the email, and subsequently the release description
73+
* [ ] subject line like `[runtime-spec VOTE] tag $versionBumpCommit as $version (closes $dateWeekFromNowUTC)`
74+
* [ ] email body like
75+
```
76+
Hey everyone,
77+
78+
There have been $numPRs PRs merged since $priorTag release (https://github.com/opencontainers/runtime-spec/compare/$priorTag...$versionBumpCommit).
79+
80+
$linkToPullRequest
81+
82+
Please respond LGTM or REJECT (with reasoning).
83+
84+
$sig
85+
```
86+
* [ ] edit/update the pull-request to link to the VOTE thread, from https://groups.google.com/a/opencontainers.org/forum/#!forum/dev
87+
* [ ] a week later, if the vote passes, merge the PR
88+
* [ ] `git tag -s $version $versionBumpCommit`
89+
* [ ] `git push --tags`
90+
* [ ] produce release documents
91+
* [ ] git checkout the release tag, like `git checkout $version`
92+
* [ ] `make docs`
93+
* [ ] rename the output PDF and HTML file to include version, like `mv output/oci-runtime-spec.pdf output/oci-runtime-spec-$version.pdf``
94+
* [ ] attach these docs to the release on https://github.com/opencontainers/runtime-spec/releases
95+
* [ ] link to the the VOTE thread and include the passing vote count
96+
* [ ] link to the pull request that merged the release

0 commit comments

Comments
 (0)