From 585ce11f71518259c22bcc0cd128b477329eb1ea Mon Sep 17 00:00:00 2001 From: mleku Date: Thu, 16 Oct 2025 11:47:20 +0100 Subject: [PATCH] enable release workflow --- .github/workflows/go.yml | 116 +++++++++++++++++++-------------------- 1 file changed, 58 insertions(+), 58 deletions(-) diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index a09e636..edeffd3 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -46,61 +46,61 @@ jobs: - name: Test run: go test -v $(go list ./... | xargs -n1 sh -c 'ls $0/*_test.go 1>/dev/null 2>&1 && echo $0' | grep .) - # release: -# needs: build -# runs-on: ubuntu-latest -# permissions: -# contents: write -# packages: write -# -# steps: -# - uses: actions/checkout@v4 -# -# - name: Set up Go -# uses: actions/setup-go@v4 -# with: -# go-version: '1.25' -# -# - name: Install libsecp256k1 -# run: ./scripts/ubuntu_install_libsecp256k1.sh -# -# - name: Build Release Binaries -# if: startsWith(github.ref, 'refs/tags/v') -# run: | -# # Extract version from tag (e.g., v1.2.3 -> 1.2.3) -# VERSION=${GITHUB_REF#refs/tags/v} -# echo "Building release binaries for version $VERSION" -# -# # Create directory for binaries -# mkdir -p release-binaries -# -# # Build for different platforms -# GOEXPERIMENT=greenteagc,jsonv2 GOOS=linux GOARCH=amd64 CGO_ENABLED=1 go build -o release-binaries/orly-${VERSION}-linux-amd64 . -# GOEXPERIMENT=greenteagc,jsonv2 GOOS=linux GOARCH=arm64 CGO_ENABLED=0 go build -o release-binaries/orly-${VERSION}-linux-arm64 . -# GOEXPERIMENT=greenteagc,jsonv2 GOOS=darwin GOARCH=amd64 CGO_ENABLED=0 go build -o release-binaries/orly-${VERSION}-darwin-amd64 . -# GOEXPERIMENT=greenteagc,jsonv2 GOOS=darwin GOARCH=arm64 CGO_ENABLED=0 go build -o release-binaries/orly-${VERSION}-darwin-arm64 . -# GOEXPERIMENT=greenteagc,jsonv2 GOOS=windows GOARCH=amd64 CGO_ENABLED=0 go build -o release-binaries/orly-${VERSION}-windows-amd64.exe . -# -# # Build cmd executables -# for cmd in lerproxy nauth nurl vainstr walletcli; do -# echo "Building $cmd" -# GOEXPERIMENT=greenteagc,jsonv2 GOOS=linux GOARCH=amd64 CGO_ENABLED=1 go build -o release-binaries/${cmd}-${VERSION}-linux-amd64 ./cmd/${cmd} -# GOEXPERIMENT=greenteagc,jsonv2 GOOS=linux GOARCH=arm64 CGO_ENABLED=0 go build -o release-binaries/${cmd}-${VERSION}-linux-arm64 ./cmd/${cmd} -# GOEXPERIMENT=greenteagc,jsonv2 GOOS=darwin GOARCH=amd64 CGO_ENABLED=0 go build -o release-binaries/${cmd}-${VERSION}-darwin-amd64 ./cmd/${cmd} -# GOEXPERIMENT=greenteagc,jsonv2 GOOS=darwin GOARCH=arm64 CGO_ENABLED=0 go build -o release-binaries/${cmd}-${VERSION}-darwin-arm64 ./cmd/${cmd} -# GOEXPERIMENT=greenteagc,jsonv2 GOOS=windows GOARCH=amd64 CGO_ENABLED=0 go build -o release-binaries/${cmd}-${VERSION}-windows-amd64.exe ./cmd/${cmd} -# done -# -# # Create checksums -# cd release-binaries -# sha256sum * > SHA256SUMS.txt -# cd .. -# -# - name: Create GitHub Release -# if: startsWith(github.ref, 'refs/tags/v') -# uses: softprops/action-gh-release@v1 -# with: -# files: release-binaries/* -# draft: false -# prerelease: false -# generate_release_notes: true + release: + needs: build + runs-on: ubuntu-latest + permissions: + contents: write + packages: write + + steps: + - uses: actions/checkout@v4 + + - name: Set up Go + uses: actions/setup-go@v4 + with: + go-version: '1.25' + + - name: Install libsecp256k1 + run: ./scripts/ubuntu_install_libsecp256k1.sh + + - name: Build Release Binaries + if: startsWith(github.ref, 'refs/tags/v') + run: | + # Extract version from tag (e.g., v1.2.3 -> 1.2.3) + VERSION=${GITHUB_REF#refs/tags/v} + echo "Building release binaries for version $VERSION" + + # Create directory for binaries + mkdir -p release-binaries + + # Build for different platforms + GOEXPERIMENT=greenteagc,jsonv2 GOOS=linux GOARCH=amd64 CGO_ENABLED=1 go build -o release-binaries/orly-${VERSION}-linux-amd64 . + GOEXPERIMENT=greenteagc,jsonv2 GOOS=linux GOARCH=arm64 CGO_ENABLED=0 go build -o release-binaries/orly-${VERSION}-linux-arm64 . + GOEXPERIMENT=greenteagc,jsonv2 GOOS=darwin GOARCH=amd64 CGO_ENABLED=0 go build -o release-binaries/orly-${VERSION}-darwin-amd64 . + GOEXPERIMENT=greenteagc,jsonv2 GOOS=darwin GOARCH=arm64 CGO_ENABLED=0 go build -o release-binaries/orly-${VERSION}-darwin-arm64 . + GOEXPERIMENT=greenteagc,jsonv2 GOOS=windows GOARCH=amd64 CGO_ENABLED=0 go build -o release-binaries/orly-${VERSION}-windows-amd64.exe . + + # Build cmd executables + for cmd in lerproxy nauth nurl vainstr walletcli; do + echo "Building $cmd" + GOEXPERIMENT=greenteagc,jsonv2 GOOS=linux GOARCH=amd64 CGO_ENABLED=1 go build -o release-binaries/${cmd}-${VERSION}-linux-amd64 ./cmd/${cmd} + GOEXPERIMENT=greenteagc,jsonv2 GOOS=linux GOARCH=arm64 CGO_ENABLED=0 go build -o release-binaries/${cmd}-${VERSION}-linux-arm64 ./cmd/${cmd} + GOEXPERIMENT=greenteagc,jsonv2 GOOS=darwin GOARCH=amd64 CGO_ENABLED=0 go build -o release-binaries/${cmd}-${VERSION}-darwin-amd64 ./cmd/${cmd} + GOEXPERIMENT=greenteagc,jsonv2 GOOS=darwin GOARCH=arm64 CGO_ENABLED=0 go build -o release-binaries/${cmd}-${VERSION}-darwin-arm64 ./cmd/${cmd} + GOEXPERIMENT=greenteagc,jsonv2 GOOS=windows GOARCH=amd64 CGO_ENABLED=0 go build -o release-binaries/${cmd}-${VERSION}-windows-amd64.exe ./cmd/${cmd} + done + + # Create checksums + cd release-binaries + sha256sum * > SHA256SUMS.txt + cd .. + + - name: Create GitHub Release + if: startsWith(github.ref, 'refs/tags/v') + uses: softprops/action-gh-release@v1 + with: + files: release-binaries/* + draft: false + prerelease: false + generate_release_notes: true