From 9f0b9b8fa42d58cc564b130b2f2b216bbfec2253 Mon Sep 17 00:00:00 2001 From: zijiren233 Date: Thu, 19 Dec 2024 21:39:48 +0800 Subject: [PATCH 1/4] feat: release workflow --- .github/workflows/{build.yml => release.yml} | 39 ++++++++++++++------ 1 file changed, 28 insertions(+), 11 deletions(-) rename .github/workflows/{build.yml => release.yml} (72%) diff --git a/.github/workflows/build.yml b/.github/workflows/release.yml similarity index 72% rename from .github/workflows/build.yml rename to .github/workflows/release.yml index e419955..d37c712 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/release.yml @@ -1,17 +1,19 @@ -name: Build +name: Release on: push: + branches: + - "**" tags: - - "v*" - workflow_dispatch: + - "v*.*.*" + pull_request: env: REGISTRY: ghcr.io IMAGE_NAME: ${{ github.repository }} jobs: - build-client: + release-client: runs-on: ubuntu-latest strategy: matrix: @@ -55,20 +57,27 @@ jobs: -o dist/wst-${{ matrix.targets.OS }}-${{ matrix.targets.ARCH }}${{ matrix.targets.EXT }} \ ./client + - name: Upload Binaries + uses: actions/upload-artifact@v4 + with: + name: ${{ matrix.targets.OS }}-${{ matrix.targets.ARCH }} + path: dist/* + - name: Release + if: ${{ !startsWith(github.ref, 'refs/tags/') }} uses: softprops/action-gh-release@v2 with: token: ${{ secrets.GITHUB_TOKEN }} draft: false - prerelease: ${{ !startsWith(github.ref, 'refs/tags/') }} + prerelease: false append_body: false fail_on_unmatched_files: true - name: ${{ startsWith(github.ref, 'refs/tags/') && github.ref_name || 'Dev Build' }} - tag_name: ${{ startsWith(github.ref, 'refs/tags/') && github.ref_name || 'dev' }} + name: github.ref_name + tag_name: github.ref_name files: | dist/* - build-server: + release-server: runs-on: ubuntu-latest steps: @@ -81,6 +90,7 @@ jobs: uses: docker/setup-buildx-action@v3 - name: Log in to the Container registry + if: github.event_name != 'pull_request' uses: docker/login-action@v1 with: registry: ${{ env.REGISTRY }} @@ -89,17 +99,24 @@ jobs: - name: Extract metadata (tags, labels) for Docker id: meta - uses: docker/metadata-action@v3 + uses: docker/metadata-action@v5 with: images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + tags: | + type=ref,event=branch + type=ref,event=pr + type=semver,pattern={{version}} + type=semver,pattern={{major}}.{{minor}} + type=semver,pattern={{major}} + type=sha - name: Build and push id: docker_build - uses: docker/build-push-action@v5 + uses: docker/build-push-action@v6 with: context: server - push: true platforms: linux/amd64,linux/arm64 + push: ${{ github.event_name != 'pull_request' }} tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} From 675892953eb386d5e20a41f727f153dbb8445c84 Mon Sep 17 00:00:00 2001 From: zijiren233 Date: Thu, 19 Dec 2024 21:44:52 +0800 Subject: [PATCH 2/4] fix: release --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index d37c712..e01fdea 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -64,7 +64,7 @@ jobs: path: dist/* - name: Release - if: ${{ !startsWith(github.ref, 'refs/tags/') }} + if: ${{ startsWith(github.ref, 'refs/tags/') }} uses: softprops/action-gh-release@v2 with: token: ${{ secrets.GITHUB_TOKEN }} From c0edb52021bff8b9bac2c4edae18a0b283334272 Mon Sep 17 00:00:00 2001 From: zijiren233 Date: Thu, 19 Dec 2024 22:02:00 +0800 Subject: [PATCH 3/4] fix: latest tag --- .github/workflows/release.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index e01fdea..b9cb27c 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -102,9 +102,12 @@ jobs: uses: docker/metadata-action@v5 with: images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + flavor: | + latest=${{ startsWith(github.ref, 'refs/tags/') }} tags: | type=ref,event=branch type=ref,event=pr + type=ref,event=tag type=semver,pattern={{version}} type=semver,pattern={{major}}.{{minor}} type=semver,pattern={{major}} From c1fdf9b60c351de71b79b54471d2117176266b55 Mon Sep 17 00:00:00 2001 From: zijiren233 Date: Thu, 19 Dec 2024 22:14:09 +0800 Subject: [PATCH 4/4] fix: release tag --- .github/workflows/release.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index b9cb27c..d136a3c 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -72,8 +72,8 @@ jobs: prerelease: false append_body: false fail_on_unmatched_files: true - name: github.ref_name - tag_name: github.ref_name + name: ${{ github.ref_name }} + tag_name: ${{ github.ref_name }} files: | dist/*