|
1 | 1 |
|
2 | 2 | # Release Process for ziti-edge-tunnel
|
3 | 3 |
|
4 |
| -## Releaser Steps |
5 |
| - |
6 |
| -1. [Create a release in GitHub](https://github.com/openziti/ziti-tunnel-sdk-c/releases) with the "Set as a pre-release" box ticked. This finalizes the version of downstream packages and container images and stages them for immediate use by prerelease consumers. |
7 |
| -1. At your discretion, allow some time for prerelease consumers to validate the release. |
8 |
| -1. Promote the release by [editing it in GitHub](https://github.com/openziti/ziti-tunnel-sdk-c/releases) to un-tick the "Set as a pre-release" box. This triggers the promotion of downstream packages and container images. |
9 |
| - |
10 |
| -The rest of this document describes these steps in greater detail. |
11 |
| - |
12 |
| -## Release Artifacts |
13 |
| - |
14 |
| -A release produces these artifacts. |
15 |
| - |
16 |
| -* binary executables attached to [the GitHub Release](https://github.com/openziti/ziti-tunnel-sdk-c/releases/latest) |
17 |
| -* Linux packages in Artifactory |
18 |
| - * DEBs for Debian distros ([doc](https://openziti.io/docs/reference/tunnelers/linux/debian-package)) |
19 |
| - * RPMs for RedHat distros ([doc](https://openziti.io/docs/reference/tunnelers/linux/redhat-package)) |
20 |
| -* Docker images in Docker Hub |
21 |
| - * `openziti/ziti-edge-tunnel` for `run` proxy mode in a container ([K8S doc](https://openziti.io/docs/reference/tunnelers/kubernetes/kubernetes-daemonset)) |
22 |
| - * `openziti/ziti-host` for `run-host` reverse-proxy mode in a container ([Docker doc](https://openziti.io/docs/reference/tunnelers/docker/), [K8S doc](https://openziti.io/docs/reference/tunnelers/kubernetes/kubernetes-host)) |
23 |
| - |
24 |
| -## Create a Release |
25 |
| - |
26 |
| -Creating a release in GitHub triggers these workflows. |
27 |
| - |
28 |
| -1. Build release artifacts (CMake): binary executables are uploaded to the GitHub Release. |
29 |
| -1. CI package (CPack): Linux packages are uploaded to testing repos in Artifactory. |
30 |
| - 1. [the testing repo for RPMs](https://netfoundry.jfrog.io/ui/repos/tree/General/zitipax-openziti-rpm-test?projectKey=zitipax) |
31 |
| - 1. [the testing repo for DEBs](https://netfoundry.jfrog.io/ui/repos/tree/General/zitipax-openziti-deb-test?projectKey=zitipax) |
32 |
| -1. Docker images are uploaded to Docker Hub. |
33 |
| - 1. [ziti-edge-tunnel](https://hub.docker.com/r/openziti/ziti-edge-tunnel/tags) |
34 |
| - 1. [ziti-host](https://hub.docker.com/r/openziti/ziti-host/tags) |
35 |
| - |
36 |
| -## Promote Downstream Releases |
37 |
| - |
38 |
| -Newly created GitHub Releases default to a full "latest" release, implying `prerelease: false`. GitHub fires the one-time release event `released`, triggering the "Promote Downstream Releases" workflow when a release is created with `prerelease: false` (implied by and mutually exclusive to the default `make_latest: true`) or updated with `prerelease: false`. |
39 |
| - |
40 |
| -1. Linux packages in Artifactory are copied from the "test" repositories to the "stable" repositories in Artifactory. |
| 4 | +## How to Publish a Prerelease |
| 5 | + |
| 6 | +1. Merge changes to the default branch, `main`. |
| 7 | +1. The release drafter workflow will create a release draft in GitHub with the "Set as a pre-release" box ticked. |
| 8 | +1. [In GitHub.com](https://github.com/openziti/ziti-tunnel-sdk-c/releases), edit the release draft to finalize the version, notes, etc. |
| 9 | +1. Creating a prerelease in GitHub triggers these workflows. |
| 10 | + 1. Build release artifacts (CMake): binary executables are uploaded to the GitHub Release. |
| 11 | + 1. CI package (CPack): Linux packages are uploaded to testing repos in Artifactory. |
| 12 | + 1. [the testing repo for RPMs](https://netfoundry.jfrog.io/ui/repos/tree/General/zitipax-openziti-rpm-test?projectKey=zitipax) |
| 13 | + 1. [the testing repo for DEBs](https://netfoundry.jfrog.io/ui/repos/tree/General/zitipax-openziti-deb-test?projectKey=zitipax) |
| 14 | + 1. Docker images are uploaded to Docker Hub. |
| 15 | + 1. [ziti-edge-tunnel](https://hub.docker.com/r/openziti/ziti-edge-tunnel/tags) - for `run` proxy mode in a container ([K8S doc](https://openziti.io/docs/reference/tunnelers/kubernetes/kubernetes-daemonset)) |
| 16 | + 1. [ziti-host](https://hub.docker.com/r/openziti/ziti-host/tags) - for `run-host` reverse-proxy mode in a container ([Docker doc](https://openziti.io/docs/reference/tunnelers/docker/), [K8S doc](https://openziti.io/docs/reference/tunnelers/kubernetes/kubernetes-host)) |
| 17 | + |
| 18 | +## How to Promote a Stable Release |
| 19 | + |
| 20 | +1. [In GitHub.com](https://github.com/openziti/ziti-tunnel-sdk-c/releases), edit the release to un-tick the "Set as a pre-release" box. This triggers the promotion of downstream packages and container images. Optionally, also mark the stable release as "latest." This has no effect on artifacts or release CI, but will update GitHub.com to advertise this particular stable release as the preferred version. |
| 21 | +1. GitHub fires the one-time release event `released`, triggering the "Promote Downstream Releases" workflow when a release is created or updated with `prerelease: false`. |
| 22 | + 1. Linux packages in Artifactory are copied from the "test" repositories to the "stable" repositories in Artifactory. |
41 | 23 | 1. [the release repo for RPMs](https://netfoundry.jfrog.io/ui/repos/tree/General/zitipax-openziti-rpm-stable?projectKey=zitipax)
|
42 | 24 | 1. [the release repo for DEBs](https://netfoundry.jfrog.io/ui/repos/tree/General/zitipax-openziti-deb-stable?projectKey=zitipax)
|
43 |
| -1. Previously-uploaded Docker images in Docker Hub are tagged `:latest`. |
44 |
| -1. There are no effects for the executable binaries that were previously uploaded to the GitHub Release. |
| 25 | + 1. Previously-uploaded Docker images in Docker Hub are tagged `:latest`. |
| 26 | + 1. There are no effects for the executable binaries that were previously uploaded to the GitHub Release. |
0 commit comments