name: Latest Release on: push: branches: - "main" jobs: latest-release: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Build hgctl latest multiarch binaries run: | GOPROXY="https://proxy.golang.org,direct" make build-hgctl-multiarch tar -zcvf hgctl_latest_linux_amd64.tar.gz out/linux_amd64/ tar -zcvf hgctl_latest_linux_arm64.tar.gz out/linux_arm64/ tar -zcvf hgctl_latest_darwin_amd64.tar.gz out/darwin_amd64/ tar -zcvf hgctl_latest_darwin_arm64.tar.gz out/darwin_arm64/ # Ignore the error when we delete the latest release, it might not exist. # GitHub APIs take sometime to make effect, we should make sure before Recreate the Latest Release and Tag, # tag and release all get deleted. So we sleep sometime after deleting tag and release to wait for it taking effect. - name: Delete the Latest Release continue-on-error: true run: | gh release delete latest --repo $GITHUB_REPOSITORY sleep 4 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_REPOSITORY: ${{ github.repository_owner }}/${{ github.event.repository.name }} # Ignore the error when we delete the latest tag, it might not exist. - name: Delete the Latest Tag continue-on-error: true run: | gh api --method DELETE /repos/$GITHUB_REPOSITORY/git/refs/tags/latest sleep 4 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_REPOSITORY: ${{ github.repository_owner }}/${{ github.event.repository.name }} - name: Recreate the Latest Release and Tag uses: softprops/action-gh-release@v1 with: draft: false prerelease: true tag_name: latest files: | hgctl_latest_linux_amd64.tar.gz hgctl_latest_linux_arm64.tar.gz hgctl_latest_darwin_amd64.tar.gz hgctl_latest_darwin_arm64.tar.gz body: | This is the "latest" release of **Higress**, which contains the most recent commits from the main branch. This release **might not be stable**. It is only intended for developers wishing to try out the latest features in Higress, some of which may not be fully implemented. Try latest version of `hgctl` with: ``` shell curl -Ls https://raw.githubusercontent.com/alibaba/higress/main/tools/hack/get-hgctl.sh | VERSION=latest bash ```