Skip to content

Release Binaries

Release Binaries #8

name: Release Binaries
on:
workflow_dispatch:
push:
tags:
- 'v*.*.*'
jobs:
build:
name: Build and Upload Release Assets
runs-on: ubuntu-latest
container: golang:1.24.2-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@v4
- name: Build ${{ matrix.goosarch }} binary
run: |
apt update
apt -y install zip
export GOOSARCH=${{ matrix.goosarch }}
export GOOS=${GOOSARCH%/*}
export GOARCH=${GOOSARCH#*/}
mkdir -p artifacts
git config --global --add safe.directory /__w/cql-proxy/cql-proxy
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: Store generated binaries
uses: actions/upload-artifact@v4
with:
name: binaries
path: artifacts