Skip to content

Latest commit

 

History

History
44 lines (31 loc) · 3.12 KB

RELEASING.md

File metadata and controls

44 lines (31 loc) · 3.12 KB

Release Process for ziti-edge-tunnel

Releaser Steps

  1. 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.
  2. At your discretion, allow some time for prerelease consumers to validate the release.
  3. 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.

Release Artifacts

A release produces these artifacts.

  • binary executables attached to the GitHub Release
  • Linux packages in Artifactory
    • DEBs for Debian distros (doc)
    • RPMs for RedHat distros (doc)
  • Docker images in Docker Hub
    • openziti/ziti-edge-tunnel for run proxy mode in a container (K8S doc)
    • openziti/ziti-host for run-host reverse-proxy mode in a container (Docker doc, K8S doc)

Create a Release

Creating a release in GitHub triggers these workflows.

  1. Build release artifacts (CMake): binary executables are uploaded to the GitHub Release.
  2. CI package (CPack): Linux packages are uploaded to testing repos in Artifactory.
    1. the testing repo for RPMs
    2. the testing repo for DEBs
  3. Docker images are uploaded to Docker Hub.
    1. ziti-edge-tunnel
    2. ziti-host

Promote Downstream Releases

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.

  1. Linux packages in Artifactory are copied from the "test" repositories to the "stable" repositories in Artifactory.
    1. the release repo for RPMs
    2. the release repo for DEBs
  2. Previously-uploaded Docker images in Docker Hub are tagged :latest.
  3. There are no effects for the executable binaries that were previously uploaded to the GitHub Release.