- Create a release in GitHub 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.
- At your discretion, allow some time for prerelease consumers to validate the release.
- Promote the release by editing it in GitHub to un-tick the "Set as a pre-release" box. This triggers the promotion of downstream packages and container images.
The rest of this document describes these steps in greater detail.
A release produces these artifacts.
- binary executables attached to the GitHub Release
- Linux packages in Artifactory
- Docker images in Docker Hub
openziti/ziti-edge-tunnel
forrun
proxy mode in a container (K8S doc)openziti/ziti-host
forrun-host
reverse-proxy mode in a container (Docker doc, K8S doc)
Creating a release in GitHub triggers these workflows.
- Build release artifacts (CMake): binary executables are uploaded to the GitHub Release.
- CI package (CPack): Linux packages are uploaded to testing repos in Artifactory.
- Docker images are uploaded to Docker Hub.
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
.
- Linux packages in Artifactory are copied from the "test" repositories to the "stable" repositories in Artifactory.
- Previously-uploaded Docker images in Docker Hub are tagged
:latest
. - There are no effects for the executable binaries that were previously uploaded to the GitHub Release.