Skip to content

Commit 399b5ee

Browse files
committed
RELEASE.md: add release guide
1 parent 4247282 commit 399b5ee

File tree

1 file changed

+41
-0
lines changed

1 file changed

+41
-0
lines changed

RELEASE.md

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# Releasing
2+
3+
Releases of this repo target [semver][semver] tags pushed by repo admins.
4+
To request a release, please ping an admin on [#olm-dev][slack-olm-dev]
5+
or [#operator-sdk-dev][slack-osdk-dev] Kubernetes Slack channels, or
6+
post to the [operator-framework group][of-ggroup].
7+
8+
## Tags
9+
10+
As per semver, all releases containing new features must map to a major or minor version increase.
11+
Patch releases must only contain fixes to features released in a prior release.
12+
13+
## Process
14+
15+
In your local shell (assuming you have repo admin privileges):
16+
17+
```sh
18+
export PREVIOUS_RELEASE_TAG=$(git describe --tags --abbrev=0)
19+
export RELEASE_TAG="vX.Y.Z"
20+
git checkout master
21+
git pull master
22+
git fetch --all
23+
git tag $RELEASE_TAG
24+
# Assuming the 'upstream' remote points to the operator-framework repo.
25+
git push upstream refs/tags/$RELEASE_TAG
26+
```
27+
28+
Then create release notes while still on the `master` branch:
29+
30+
```sh
31+
while read -r line; do echo $line | awk '{f = $1; $1 = ""; print "-"$0; }'; done <<< $(git log $PREVIOUS_RELEASE_TAG..$RELEASE_TAG --format=oneline --no-merges)
32+
```
33+
34+
Copy them into the Github release [description form][release-desc-page],
35+
select `vX.Y.Z` in the `Tag version` form, and click `Publish release`.
36+
37+
[semver]:https://semver.org/
38+
[slack-olm-dev]:https://kubernetes.slack.com/messages/olm-dev
39+
[slack-osdk-dev]:https://kubernetes.slack.com/messages/operator-sdk-dev
40+
[of-ggroup]:https://groups.google.com/forum/#!forum/operator-framework
41+
[release-desc-page]:https://github.com/operator-framework/api/releases/new

0 commit comments

Comments
 (0)