Skip to content

Commit f1fbfe2

Browse files
committed
add RELEASE.md document
1 parent e16f9ce commit f1fbfe2

File tree

1 file changed

+50
-0
lines changed

1 file changed

+50
-0
lines changed

Sources/Prometheus/RELEASE.md

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
# Releasing
2+
3+
## Release schedule
4+
5+
Releases of this library are performed on a when-needed basis.
6+
7+
Generally one of the maintainers listed in MAINTAINERS.md will perform a release.
8+
9+
If you would like to request a release since a change or fix has been waiting for a release for some time,
10+
you may open up an issue on github, requesting a release.
11+
12+
## Versioning
13+
14+
As usual with Swift packages, we use [Semantic Versioning](https://semver.org/).
15+
16+
## Make a release
17+
18+
Development and releases are made from the `main` branch directly, therefore the branch should remain in releasable state at any time.
19+
20+
Making a release is simple and boils down to making a git tag and pushing it to the upstream repository.
21+
22+
Tags should follow the simple `MAJOR.MINOR.PATCH` format, without any prefix (e.g. do not include the `v` prefix).
23+
24+
Step 1) Make a release tag.
25+
26+
```bash
27+
tag="MAJOR.MINOR.PATCH"
28+
git tag -s "${tag}" -m "${tag}"
29+
git push origin "${tag}"
30+
```
31+
32+
Step 2) Make the GitHub Release and Release Notes.
33+
34+
Release notes generation is automated and based on the enforced labelling of pull requests.
35+
As pull requests are merged, they are required to be tagged with `semver/*` tags (`semver/patch`, `semver/minor`, ...).
36+
When you navigate to the [New release](https://github.com/swift-server/swift-prometheus/releases/new) page on github and
37+
select your release tag, and click **Generate release notes** release notes will automatically be generated.
38+
39+
Take a moment to read over the changes and make sure their assigned patch/minor/major categories are correct and match the release's assigned version.
40+
41+
You may add some additional introduction, thanks or additional information which may be useful for anyone reading the release notes.
42+
43+
Step 3) "There is not Step 3!"
44+
45+
## Swift Versions
46+
47+
Generally this project supports three most recent minor versions of Swift.
48+
49+
For example, at time of writing this document Swift 6.2 is the current release, so this project also supports 6.1 and 6.0.
50+
And this list of versions changes whenever a new minor Swift version is released.

0 commit comments

Comments
 (0)