From 2c905074c22afffe8ac8e54ee968e4da587e0640 Mon Sep 17 00:00:00 2001 From: Muhammad Atif Ali Date: Tue, 30 Jul 2024 13:39:13 +0300 Subject: [PATCH 1/8] chore: add prerelease flag to release.yaml and build.sh --- .github/workflows/release.yaml | 1 + scripts/build.sh | 7 ++++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index eb8c1e2..b43415d 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -73,6 +73,7 @@ jobs: with: release_name: ${{ steps.version.outputs.version }} tag_name: ${{ github.ref }} + prerelease: ${{ contains(github.ref, 'rc') }} # Release candidates are marked as pre-releases - name: Upload Helm Release Asset uses: actions/upload-release-asset@v1 diff --git a/scripts/build.sh b/scripts/build.sh index 7f8b1a5..dee49a5 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -40,5 +40,10 @@ else VERSION=$(../scripts/version.sh) BASE=ghcr.io/coder/coder-logstream-kube IMAGE=$BASE:$VERSION - docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t "$IMAGE" -t $BASE:latest --push . + # if version contains "rc" skip pushing to latest + if [[ $VERSION == *"rc"* ]]; then + docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t "$IMAGE" --push . + else + docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t "$IMAGE" -t $BASE:latest --push . + fi fi From 181afd45b8fc9c05c9caf74c1ba57da80e63e15f Mon Sep 17 00:00:00 2001 From: Muhammad Atif Ali Date: Tue, 30 Jul 2024 13:48:40 +0300 Subject: [PATCH 2/8] replace deprecated actions --- .github/workflows/release.yaml | 23 +++++------------------ 1 file changed, 5 insertions(+), 18 deletions(-) diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index b43415d..98f9d80 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -65,22 +65,9 @@ jobs: gsutil -h "Cache-Control:no-cache,max-age=0" cp build/helm/${version}.tgz gs://helm.coder.com/logstream-kube gsutil -h "Cache-Control:no-cache,max-age=0" cp build/helm/index.yaml gs://helm.coder.com/logstream-kube - - name: Create Release - uses: actions/create-release@v1 - id: create_release - env: - GITHUB_TOKEN: ${{ github.token }} - with: - release_name: ${{ steps.version.outputs.version }} - tag_name: ${{ github.ref }} - prerelease: ${{ contains(github.ref, 'rc') }} # Release candidates are marked as pre-releases - - - name: Upload Helm Release Asset - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ github.token }} + - name: Create and upload release + uses: softprops/action-gh-release@v2 with: - upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: build/${{ steps.version.outputs.version }}.tgz - asset_name: helm.tar.gz - asset_content_type: application/gzip + token: ${{ github.token }} + files: build/${{ steps.version.outputs.version }}.tgz + prerelease: ${{ contains(github.ref, 'rc') }} From 13c6cdc56046ce974acb28d4ab41fba3daf14068 Mon Sep 17 00:00:00 2001 From: Muhammad Atif Ali Date: Tue, 30 Jul 2024 13:53:53 +0300 Subject: [PATCH 3/8] generate release notes --- .github/workflows/release.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 98f9d80..ba11061 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -71,3 +71,4 @@ jobs: token: ${{ github.token }} files: build/${{ steps.version.outputs.version }}.tgz prerelease: ${{ contains(github.ref, 'rc') }} + generate_release_notes: true From 20a8777cf1f3411458142ac043cf5932448bb4f4 Mon Sep 17 00:00:00 2001 From: Muhammad Atif Ali Date: Tue, 30 Jul 2024 17:38:19 +0300 Subject: [PATCH 4/8] specify tag_name This should handle uploading asset to existing release when releases are created manually. --- .github/workflows/release.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index ba11061..97f9021 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -69,6 +69,7 @@ jobs: uses: softprops/action-gh-release@v2 with: token: ${{ github.token }} + tag_name: ${{ github.ref_name }} files: build/${{ steps.version.outputs.version }}.tgz prerelease: ${{ contains(github.ref, 'rc') }} generate_release_notes: true From 2125e4a82de1d1c123cf5615ccb89645915ab92b Mon Sep 17 00:00:00 2001 From: Muhammad Atif Ali Date: Wed, 31 Jul 2024 12:32:51 +0300 Subject: [PATCH 5/8] refactor to use `gh release create` --- .github/workflows/release.yaml | 25 ++++++++++++++++++------- scripts/build.sh | 2 +- 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 97f9021..525ffc7 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -66,10 +66,21 @@ jobs: gsutil -h "Cache-Control:no-cache,max-age=0" cp build/helm/index.yaml gs://helm.coder.com/logstream-kube - name: Create and upload release - uses: softprops/action-gh-release@v2 - with: - token: ${{ github.token }} - tag_name: ${{ github.ref_name }} - files: build/${{ steps.version.outputs.version }}.tgz - prerelease: ${{ contains(github.ref, 'rc') }} - generate_release_notes: true + run: | + set -euo pipefail + version=${{ steps.version.outputs.version }} + + if gh release view $version; then + echo "Release $version already exists" + exit 0 + else + echo "Creating release $version" + # if version contains -rc, publish as a pre-release and not latest + if [[ $version == *-rc* ]]; then + gh release create $version -t $version --generate-notes --prerelease --latest=false --verify-tag build/${version}.tgz + else + gh release create $version -t $version --generate-notes --verify-tag build/${version}.tgz + fi + fi + env: + GITHUB_TOKEN: ${{ github.token }} diff --git a/scripts/build.sh b/scripts/build.sh index dee49a5..a17eb0b 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -33,7 +33,7 @@ fi # Ensure the builder is bootstrapped and ready to use docker buildx inspect --bootstrap &>/dev/null -# Build +# Build and push the image if [ "$CI" = "false" ]; then docker buildx build --platform linux/"$current" -t coder-logstream-kube --load . else From ff82a7bc73f8cd25e303efcfd949b03ad74c39e0 Mon Sep 17 00:00:00 2001 From: Muhammad Atif Ali Date: Wed, 31 Jul 2024 12:43:50 +0300 Subject: [PATCH 6/8] use asset name to match existing behaviour. --- .github/workflows/release.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 525ffc7..c50788d 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -77,9 +77,9 @@ jobs: echo "Creating release $version" # if version contains -rc, publish as a pre-release and not latest if [[ $version == *-rc* ]]; then - gh release create $version -t $version --generate-notes --prerelease --latest=false --verify-tag build/${version}.tgz + gh release create $version -t $version --generate-notes --prerelease --latest=false --verify-tag build/${version}.tgz#helm.tar.gz else - gh release create $version -t $version --generate-notes --verify-tag build/${version}.tgz + gh release create $version -t $version --generate-notes --verify-tag build/${version}.tgz#helm.tar.gz fi fi env: From 7ade03cfdcc64e448092f4cd9b89bd17ad5cda7d Mon Sep 17 00:00:00 2001 From: Muhammad Atif Ali Date: Wed, 31 Jul 2024 14:58:21 +0300 Subject: [PATCH 7/8] makes sure we can run non-interactively in CI --- .github/workflows/release.yaml | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index c50788d..af5bd1b 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -70,17 +70,18 @@ jobs: set -euo pipefail version=${{ steps.version.outputs.version }} - if gh release view $version; then + # check if release already exists and match the version + if [[ $(gh release view $version --json name -q '.name' | cat) == $version ]]; then echo "Release $version already exists" exit 0 + fi + + echo "Creating release $version" + # if version contains -rc, publish as a pre-release and don't set as latest + if [[ $version == *-rc* ]]; then + gh release create $version -t $version --generate-notes --prerelease --latest=false --verify-tag build/${version}.tgz#helm.tar.gz else - echo "Creating release $version" - # if version contains -rc, publish as a pre-release and not latest - if [[ $version == *-rc* ]]; then - gh release create $version -t $version --generate-notes --prerelease --latest=false --verify-tag build/${version}.tgz#helm.tar.gz - else - gh release create $version -t $version --generate-notes --verify-tag build/${version}.tgz#helm.tar.gz - fi + gh release create $version -t $version --generate-notes --verify-tag build/${version}.tgz#helm.tar.gz fi env: GITHUB_TOKEN: ${{ github.token }} From 8dede441baab8a2efde41498487ae5df0db35b75 Mon Sep 17 00:00:00 2001 From: Muhammad Atif Ali Date: Wed, 31 Jul 2024 15:00:18 +0300 Subject: [PATCH 8/8] cleanup --- .github/workflows/release.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index af5bd1b..52e11b4 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -79,9 +79,9 @@ jobs: echo "Creating release $version" # if version contains -rc, publish as a pre-release and don't set as latest if [[ $version == *-rc* ]]; then - gh release create $version -t $version --generate-notes --prerelease --latest=false --verify-tag build/${version}.tgz#helm.tar.gz + gh release create $version -t $version --generate-notes --prerelease --latest=false --verify-tag build/${version}.tgz#helm.tar.gz else - gh release create $version -t $version --generate-notes --verify-tag build/${version}.tgz#helm.tar.gz + gh release create $version -t $version --generate-notes --verify-tag build/${version}.tgz#helm.tar.gz fi env: GITHUB_TOKEN: ${{ github.token }} pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy