Skip to content

Commit 7c0b5ac

Browse files
authored
Docs: tag-based release (#479)
2 parents e0e339d + cd34ebb commit 7c0b5ac

File tree

2 files changed

+51
-0
lines changed

2 files changed

+51
-0
lines changed

docs/releases.md

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,3 +21,53 @@ All versions of the package may be viewed on the [package all versions page](htt
2121
e.g. `1` for the first release of the month, `2` for the second, and so on.
2222

2323
Version numbers for release candidates append `-rcR`, where `R` is the 1-based release counter for the anticipated release. For example, the first release candidate for the `2024.01.1` release would be `2024.01.1-rc1`.
24+
25+
## Making a release
26+
27+
This list outlines the manual steps needed to make a new release of `eligibility-server`.
28+
29+
A release is made by pushing an annotated tag. The name of the tag must use the version number format mentioned above. This kicks off a deployment to the production environment and creates a GitHub release. The version number for the app and the release will be the tag's name.
30+
31+
More details about the deployment steps and release creation can be found in the [`docker-publish`](https://github.com/cal-itp/eligibility-server/tree/main/.github/workflows/docker-publish.yml) workflow. [`release`](https://github.com/cal-itp/eligibility-server/tree/main/.github/workflows/release.yml) workflow.
32+
33+
The list of releases can be found on the [repository Releases page](https://github.com/cal-itp/eligibility-server/tags) on GitHub.
34+
35+
[Start a new Release on Github](https://github.com/cal-itp/eligibility-server/issues/new?labels=release&template=release.yml&title=Make+a+Release){ .md-button }
36+
37+
### 1. Create a release candidate tag on `main` and push it
38+
39+
```bash
40+
git fetch
41+
git checkout main
42+
git reset --hard origin/main
43+
git tag -a YYYY.0M.R-rcR
44+
```
45+
46+
Git will open your default text editor and prompt you for the tag annotation. For the tag annotation, use the release candidate version. Finally, after closing the text editor:
47+
48+
```bash
49+
git push origin YYYY.0M.R-rcR
50+
```
51+
52+
This builds a new package and deploys to the Azure test environments. No GitHub release is created for release candidates.
53+
54+
### 2. Create a release tag on `main` and push it
55+
56+
```bash
57+
git fetch
58+
git checkout main
59+
git reset --hard origin/main
60+
git tag -a YYYY.0M.R
61+
```
62+
63+
Git will open your default text editor and prompt you for the tag annotation. For the tag annotation, use the title of the release-tagged Issue that kicked off the release. Finally, after closing the text editor:
64+
65+
```bash
66+
git push origin YYYY.0M.R
67+
```
68+
69+
This builds the package and deploys to the Azure production environments. A GitHub release is created.
70+
71+
### 3. [Generate release notes](https://docs.github.com/en/repositories/releasing-projects-on-github/automatically-generated-release-notes)
72+
73+
Edit release notes with additional context, images, animations, etc. as-needed and link to the release issue.

mkdocs.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ extra_css:
4141

4242
markdown_extensions:
4343
- admonition
44+
- attr_list
4445
- codehilite:
4546
linenums: true
4647
- pymdownx.inlinehilite

0 commit comments

Comments
 (0)