From 0ec8ccaa97650d4d15ba52dbac734090e201a312 Mon Sep 17 00:00:00 2001 From: Lukasz Antoniak Date: Fri, 23 Aug 2024 09:08:35 +0200 Subject: [PATCH] Apply review comments --- .github/workflows/release-binary.yml | 89 ++++++++++------------------ 1 file changed, 32 insertions(+), 57 deletions(-) diff --git a/.github/workflows/release-binary.yml b/.github/workflows/release-binary.yml index de5bf78..27f69f7 100644 --- a/.github/workflows/release-binary.yml +++ b/.github/workflows/release-binary.yml @@ -11,70 +11,45 @@ jobs: name: Build and Upload Release Assets runs-on: ubuntu-latest container: golang:1.18-bullseye + strategy: + matrix: + goosarch: + - "linux/amd64" + - "linux/arm64" + - "windows/amd64" + - "darwin/amd64" + - "darwin/arm64" + env: + GO111MODULE: on + CGO_ENABLED: 0 steps: - name: Checkout code uses: actions/checkout@v2 - - name: Build Linux/amd64 binary - run: | - export GO111MODULE=on - export CGO_ENABLED=0 - export GOOS=linux - export GOARCH=amd64 - go build -o cql-proxy - tar cvfz cql-proxy-linux-amd64-${{ github.ref_name }}.tgz cql-proxy LICENSE - - name: Build Windows/amd64 binary + - name: Build ${{ matrix.goosarch }} binary run: | apt update apt -y install zip - export GO111MODULE=on - export CGO_ENABLED=0 - export GOOS=windows - export GOARCH=amd64 - go build -o cql-proxy.exe - zip -vr cql-proxy-windows-amd64-${{ github.ref_name }}.zip cql-proxy.exe LICENSE - - name: Build Darwin/amd64 binary - run: | - export GO111MODULE=on - export CGO_ENABLED=0 - export GOOS=darwin - export GOARCH=amd64 - go build -o cql-proxy - tar cvfz cql-proxy-darwin-amd64-${{ github.ref_name }}.tgz cql-proxy LICENSE - - name: Build Darwin/arm64 binary - run: | - export GO111MODULE=on - export CGO_ENABLED=0 - export GOOS=darwin - export GOARCH=arm64 - go build -o cql-proxy - tar cvfz cql-proxy-darwin-arm64-${{ github.ref_name }}.tgz cql-proxy LICENSE - - name: Build Linux/arm64 binary - run: | - export GO111MODULE=on - export CGO_ENABLED=0 - export GOOS=linux - export GOARCH=arm64 - go build -o cql-proxy - tar cvfz cql-proxy-linux-arm64-${{ github.ref_name }}.tgz cql-proxy LICENSE - - name: Generate Checksums - run: | - sha256sum cql-proxy-linux-amd64-${{ github.ref_name }}.tgz | cut -d ' ' -f 1 > cql-proxy-linux-amd64-${{ github.ref_name }}-sha256.txt - sha256sum cql-proxy-windows-amd64-${{ github.ref_name }}.zip | cut -d ' ' -f 1 > cql-proxy-windows-amd64-${{ github.ref_name }}-sha256.txt - sha256sum cql-proxy-darwin-amd64-${{ github.ref_name }}.tgz | cut -d ' ' -f 1 > cql-proxy-darwin-amd64-${{ github.ref_name }}-sha256.txt - sha256sum cql-proxy-darwin-arm64-${{ github.ref_name }}.tgz | cut -d ' ' -f 1 > cql-proxy-darwin-arm64-${{ github.ref_name }}-sha256.txt - sha256sum cql-proxy-linux-arm64-${{ github.ref_name }}.tgz | cut -d ' ' -f 1 > cql-proxy-linux-arm64-${{ github.ref_name }}-sha256.txt - - name: Create Release + + export GOOSARCH=${{ matrix.goosarch }} + export GOOS=${GOOSARCH%/*} + export GOARCH=${GOOSARCH#*/} + + mkdir -p artifacts + + if [ "$GOOS" = "windows" ]; then + go build -o cql-proxy.exe + zip -vr cql-proxy-${GOOS}-${GOARCH}-${{ github.ref_name }}.zip cql-proxy.exe LICENSE + sha256sum cql-proxy-${GOOS}-${GOARCH}-${{ github.ref_name }}.zip | cut -d ' ' -f 1 > cql-proxy-${GOOS}-${GOARCH}-${{ github.ref_name }}-sha256.txt + else + go build -o cql-proxy + tar cvfz cql-proxy-${GOOS}-${GOARCH}-${{ github.ref_name }}.tgz cql-proxy LICENSE + sha256sum cql-proxy-${GOOS}-${GOARCH}-${{ github.ref_name }}.tgz | cut -d ' ' -f 1 > cql-proxy-${GOOS}-${GOARCH}-${{ github.ref_name }}-sha256.txt + fi + + mv cql-proxy-* artifacts + - name: Upload ${{ matrix.goosarch }} binaries uses: softprops/action-gh-release@v1 with: name: ${{ github.ref_name }} files: | - cql-proxy-linux-amd64-${{ github.ref_name }}.tgz - cql-proxy-linux-amd64-${{ github.ref_name }}-sha256.txt - cql-proxy-windows-amd64-${{ github.ref_name }}.zip - cql-proxy-windows-amd64-${{ github.ref_name }}-sha256.txt - cql-proxy-darwin-amd64-${{ github.ref_name }}.tgz - cql-proxy-darwin-amd64-${{ github.ref_name }}-sha256.txt - cql-proxy-darwin-arm64-${{ github.ref_name }}.tgz - cql-proxy-darwin-arm64-${{ github.ref_name }}-sha256.txt - cql-proxy-linux-arm64-${{ github.ref_name }}.tgz - cql-proxy-linux-arm64-${{ github.ref_name }}-sha256.txt + artifacts/*