Skip to content

Commit 04ae552

Browse files
authored
Merge pull request #1201 from openziti/fix.unzip
fix release workflows
2 parents 06ffd21 + 80a2437 commit 04ae552

File tree

3 files changed

+24
-45
lines changed

3 files changed

+24
-45
lines changed

.github/workflows/publish-container-images.yml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,16 +35,15 @@ jobs:
3535
with:
3636
pattern: linux-*
3737
path: ./downloads
38-
merge_multiple: false # some artifacts have the same name and so can not be aggregated in a single directory
3938

4039
- name: Unpack CMake Artifacts
4140
shell: bash
4241
run: |
4342
set -x
4443
ls -horRAS ./downloads
4544
mkdir -p ./build/{arm64,amd64}/linux/
46-
unzip -d ./build/arm64/linux/ ./downloads/ziti-edge-tunnel-Linux_arm64.zip
47-
unzip -d ./build/amd64/linux/ ./downloads/ziti-edge-tunnel-Linux_x86_64.zip
45+
unzip -d ./build/arm64/linux/ ./downloads/linux-arm64/ziti-edge-tunnel-Linux_arm64.zip
46+
unzip -d ./build/amd64/linux/ ./downloads/linux-x64/ziti-edge-tunnel-Linux_x86_64.zip
4847
4948
- name: Set up QEMU
5049
uses: docker/setup-qemu-action@v3

.github/workflows/release.yml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,11 @@ jobs:
2121
uses: actions/download-artifact@v5
2222
with:
2323
path: ${{ runner.workspace }}/downloads
24-
merge_multiple: false # some artifacts have the same name and so can not be aggregated in a single directory
2524

2625
- name: List Release Artifacts
2726
run: ls -horRAS ${{runner.workspace}}/downloads/
2827

29-
# the purpose of this step is to identify the release that was created for the current tag and upload the
30-
# artifacts that do not need to be renamed
28+
# the purpose of this step is to upload the artifacts to the GH Release for the current tag
3129
- name: Release
3230
id: get_release
3331
uses: softprops/action-gh-release@v2

RELEASING.md

Lines changed: 21 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,26 @@
11

22
# Release Process for ziti-edge-tunnel
33

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.
4123
1. [the release repo for RPMs](https://netfoundry.jfrog.io/ui/repos/tree/General/zitipax-openziti-rpm-stable?projectKey=zitipax)
4224
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

Comments
 (0)