name: Go on: push: branches: [ main ] tags: - '*' pull_request: branches: [ main ] jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 with: fetch-depth: 0 - name: Set up Go uses: actions/setup-go@v6 with: go-version: 1.26 - name: Test run: go test -v ./... - name: Run GoReleaser if: startsWith(github.ref, 'refs/tags/') uses: goreleaser/goreleaser-action@v7 with: # either 'goreleaser' (default) or 'goreleaser-pro' distribution: goreleaser version: latest args: release --clean env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Run GoReleaser if: ${{ !startsWith(github.ref, 'refs/tags/v') }} uses: goreleaser/goreleaser-action@v7 with: # either 'goreleaser' (default) or 'goreleaser-pro' distribution: goreleaser version: latest args: release --snapshot --clean env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Upload a Build Artifact if: startsWith(github.ref, 'refs/tags/') uses: actions/upload-artifact@v7 with: name: gickup path: dist/*