name: Release (Beta) on: push: branches: - develop workflow_dispatch: jobs: release: name: semantic-release runs-on: ubuntu-latest permissions: contents: write outputs: new-release-published: ${{ steps.semantic-release.outputs.new_release_published }} new-release-version: ${{ steps.semantic-release.outputs.new_release_version }} new-release-channel: ${{ steps.semantic-release.outputs.new_release_channel }} steps: - uses: actions/checkout@v4 - id: semantic-release uses: cycjimmy/semantic-release-action@v4 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} goreleaser: name: GoReleaser needs: - release if: needs.release.outputs.new-release-published == 'true' permissions: contents: write runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: fetch-depth: 0 - uses: actions/setup-go@v5 with: go-version-file: go.mod cache: true - uses: goreleaser/goreleaser-action@v6 with: distribution: goreleaser version: ~> v2 args: release --clean env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SENTRY_DSN: ${{ secrets.SENTRY_DSN }} - run: gh release edit v${{ needs.release.outputs.new-release-version }} --draft=false --prerelease env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} commit: name: Publish Brew and Scoop needs: - release - goreleaser if: needs.release.outputs.new-release-published == 'true' runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version-file: go.mod cache: true - run: go run tools/publish/main.go --beta "${{ needs.release.outputs.new-release-version }}" env: GITHUB_TOKEN: ${{ secrets.GH_PAT }} publish: name: Publish NPM needs: - release - goreleaser if: needs.release.outputs.new-release-published == 'true' runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: "16.x" registry-url: "https://registry.npmjs.org" - run: npm --git-tag-version=false version ${{ needs.release.outputs.new-release-version }} - run: npm publish --tag ${{ needs.release.outputs.new-release-channel }} env: NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}