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: docs/releases.md
+50Lines changed: 50 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -21,3 +21,53 @@ All versions of the package may be viewed on the [package all versions page](htt
21
21
e.g. `1` for the first release of the month, `2` for the second, and so on.
22
22
23
23
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.
0 commit comments