Skip to content

feat: get version based on tags #41

feat: get version based on tags

feat: get version based on tags #41

Workflow file for this run

name: Build and Release
on:
push:
branches:
- main
- feat/*
tags:
- v*
jobs:
build-and-release:
runs-on: ubuntu-latest
continue-on-error: true
strategy:
matrix:
goos: [linux, darwin, windows]
goarch: [amd64, arm64]
steps:
- uses: actions/checkout@v4
- name: Setup Go environment
uses: actions/setup-go@v5.0.0
with:
go-version: stable
- name: Build
env:
CGO_ENABLED: 0
GOOS: ${{ matrix.goos }}
GOARCH: ${{ matrix.goarch }}
run: |
VERSION=$([[ ! -z $GITHUB_REF_NAME ]] && echo $GITHUB_REF_NAME || echo $GITHUB_HEAD_NAME)
echo "Raiden version: $VERSION"
sed -i "s,.*appVersion = \".*\"$,\tappVersion = \"$VERSION\"," 'cmd/raiden/commands/version.go'
go build -ldflags="-s -w" -trimpath -o build/raiden ./cmd/raiden/main.go
cd build
if [[ $GOOS == 'darwin' ]]; then
cp raiden raiden-macos-"$GOARCH"
sha256sum -b raiden-macos-"$GOARCH" > raiden-macos-"$GOARCH".sha256
elif [[ $GOOS == 'windows' ]]; then
mv raiden raiden.exe
sudo apt-get install -y nsis
makensis -NOCD -DARCH="$GOARCH" ${GITHUB_WORKSPACE}/scripts/windows.nsi
sha256sum -b raiden-"$GOOS"-"$GOARCH"-setup.exe > raiden-"$GOOS"-"$GOARCH"-setup.exe.sha256
else
cp raiden raiden-"$GOOS"-"$GOARCH"
sha256sum -b raiden-"$GOOS"-"$GOARCH" > raiden-"$GOOS"-"$GOARCH".sha256
fi
- name: Release
uses: softprops/action-gh-release@v2
if: startsWith(github.ref, 'refs/tags/')
with:
files: |
build/raiden-*
build/SHA256SUMS
make_latest: true
generate_release_notes: true