|
1 | 1 |
|
2 | | -# New release procedure |
| 2 | +# New Release Procedure Steps |
3 | 3 |
|
4 | 4 |
|
5 | | -1. **Update Release Notes.** |
| 5 | +### Release Notes |
6 | 6 | In the `rc-yyyy.x` branch, edit the release notes and do the following (firefly/docs/release-notes.md): |
7 | 7 | - Start a new section for this release |
8 | 8 | - Move over any notes from firefly/docs/next-release-details.md |
|
11 | 11 | - Make sure you edit the docker tags section of this release |
12 | 12 | - Update the "Pull Request for this release section", change the text and the URLs for all PR and bug fixes |
13 | 13 |
|
14 | | -2. **Ensure release passes Test** |
| 14 | +### Ensure release passes Test |
15 | 15 | - `gradle :firefly:test` |
16 | 16 |
|
17 | | -3. **Commit, Tag** |
18 | | - - commit your changes - _example message:_ "Release 2021.1.0: document updates" |
19 | | - - tag the `rc-yyyy.m` branch with the release `release-yyyy.m.r` |
20 | | - - _example:_ |
| 17 | +### Commit and Tag |
| 18 | + - Commit your changes - _example message:_ "Release 2021.1.0: document updates" |
| 19 | + - Tag the `rc-yyyy.m` branch with the release `release-yyyy.m.r` |
| 20 | + - _Example:_ |
21 | 21 | - the second release from branch `rc-2021.2` with the git tagged with `release-2021.2.1` |
22 | 22 | - `git tag release-2021.2.1` |
23 | 23 |
|
24 | | -4. **Push to GitHub**: |
| 24 | +### Push |
| 25 | + - Push to Github |
25 | 26 | - push the rc: _example:_ `git push origin rc-2021.1` |
26 | 27 | - push the tags: `git push origin --tags` |
27 | 28 |
|
28 | | -5. **Build docker images and deploy it to IRSA Kubernetes** |
| 29 | +### Build docker images and deploy it to IRSA Kubernetes |
29 | 30 | - Best to use Jenkins: https://irsawebdev5.ipac.caltech.edu:8443/view/IRSA%20k8s/job/ikc_firefly/build |
30 | 31 | - Build the docker with the following docker tags: `rc-yyyy.m`, `yyyy.m`,`yyyy.m.r`, `latest` |
31 | 32 | - _example:_ from the example above the release would be built with: `rc-2021.2`, `2021.2`,`2021.2.1`, `latest` |
|
37 | 38 | - the `yyyy.m` docker tag always represents the latest release of the version |
38 | 39 | - the `latest` tag is always the latest formal release. (note- development release use `nightly`) |
39 | 40 |
|
40 | | -6. **Test the release.** |
41 | | - - start docker on your laptop |
| 41 | +### Test the Build |
| 42 | + - Start docker on your laptop |
42 | 43 | - `docker pull ipac/firefly:yyyy.m.r` |
43 | 44 | - `docker run --rm -p 8090:8080 -m 4G --name firefly ipac/firefly:yyyy.m.r` |
44 | 45 | - Look at the main page: |
|
48 | 49 | - Look at test pages |
49 | 50 | - http://localhost:8090/firefly/test |
50 | 51 |
|
51 | | -7. **Merge RC, Start a new development cycle** |
| 52 | +### Merge RC and Start a new development cycle |
52 | 53 | - merge rc into dev, use `--no-ff` to create a new commit |
53 | 54 | - `git checkout dev` |
54 | 55 | - `git merge --no-ff <rc-branch>` |
|
59 | 60 | - For example- If you just did the 2022.1.0 release, and we are beginning work on the 2022.2 cycle: |
60 | 61 | - on the dev branch |
61 | 62 | - `git tag cycle-2022.2` |
62 | | -8. Update Docs and push |
| 63 | + - |
| 64 | +### Update Docs |
63 | 65 | - add any improvements to this file |
64 | 66 | - commit and push dev, _example message_ - "Post 2021.1 release: dev clean up" |
65 | 67 | - `git push origin dev` |
66 | | - - push the tags: `git push origin --tags` |
67 | | - |
68 | | -9. **Edit docker hub instructions** |
69 | | - - Go the the Firefly page on docker hub. https://cloud.docker.com/u/ipac/repository/docker/ipac/firefly |
| 68 | + |
| 69 | +### Update Docker Hub instructions |
| 70 | + - Go to the Firefly page on docker hub. https://cloud.docker.com/u/ipac/repository/docker/ipac/firefly |
70 | 71 | - Edit the markdown to include the recent tags |
71 | 72 |
|
72 | | -10. **Publish a new release on Github.** |
73 | | - - The text should use the [release-page-template.md](release-page-template.md) |
74 | | - - After using the template, copy the markdown (for this release only) from the release-notes.md |
| 73 | +### Publish on Github |
| 74 | + - The text should use the [release-page-template.md](release-page-template.md) |
| 75 | + - After using the template, copy the markdown (for this release only) from the release-notes.md |
75 | 76 | - paste markdown at the end of the template |
76 | 77 |
|
0 commit comments