Skip to content

Commit

Permalink
Add release workflow.
Browse files Browse the repository at this point in the history
  • Loading branch information
jellyterra committed Sep 26, 2024
1 parent 5fc6d76 commit 1ed2e1d
Showing 1 changed file with 64 additions and 0 deletions.
64 changes: 64 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
# This workflow will build a golang project
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-go

name: Release

on:
push:
# Sequence of patterns matched against refs/tags
tags:
- 'v*' # Push events to matching v*, i.e. v1.0, v20.15.10

permissions:
contents: write

jobs:
build:
name: Create Release
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: '1.22'

- run: mkdir ~/build

- name: Build
shell: bash
run: |
set +e
go tool dist list | while IFS='/' read -ra TARGET
do
export GOOS=${TARGET[0]}
export GOARCH=${TARGET[1]}
echo "Building target $GOOS/$GOARCH"
go build -o ~/build/analytics-server-${{ github.ref_name }}-$GOOS-$GOARCH ./cmd/analytics-server
done
- name: Compress via Zstd
run: zstd ~/build/analytics-server-${{ github.ref_name }}-*

- name: Generate Checksums
run: sha256sum ~/build/*zst > ~/build/SHA256SUMS.txt

- name: Create Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ github.token }}
with:
tag_name: ${{ github.ref_name }}
release_name: ${{ github.ref_name }}
body: Changelog for ${{ github.ref_name }}
draft: true
prerelease: false

- name: Upload Artifact
env:
GH_TOKEN: ${{ github.token }}
run:
gh release -R ${{ github.repository }} upload ${{ github.ref_name }} ~/build/SHA256SUMS.txt ~/build/*zst --clobber

0 comments on commit 1ed2e1d

Please sign in to comment.