Skip to content

Merge pull request #9 from StrayDragon/l8ng/feat #5

Merge pull request #9 from StrayDragon/l8ng/feat

Merge pull request #9 from StrayDragon/l8ng/feat #5

Workflow file for this run

name: CD
on:
push:
tags:
- 'v*'
workflow_dispatch:
permissions:
contents: write
jobs:
build:
name: Build and Release
runs-on: ubuntu-latest
strategy:
matrix:
include:
- goos: linux
goarch: amd64
suffix: ""
- goos: windows
goarch: amd64
suffix: ".exe"
# - goos: darwin
# goarch: amd64
# suffix: ""
# - goos: darwin
# goarch: arm64
# suffix: ""
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: 'stable'
cache: true
- name: Packaging
env:
GOOS: ${{ matrix.goos }}
GOARCH: ${{ matrix.goarch }}
run: |
make package
- name: Build Changelog
if: startsWith(github.ref, 'refs/tags/')
id: github_release
uses: mikepenz/release-changelog-builder-action@v5
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Load Release Template
if: startsWith(github.ref, 'refs/tags/')
id: release_template
run: |
template=$(cat .github/release-template.md)
echo "content<<EOF" >> $GITHUB_OUTPUT
echo "${template/\${VERSION}/${{ github.ref_name }}}" >> $GITHUB_OUTPUT
echo "${{ steps.github_release.outputs.changelog }}" >> $GITHUB_OUTPUT
echo "EOF" >> $GITHUB_OUTPUT
- name: Create Release
if: startsWith(github.ref, 'refs/tags/')
uses: softprops/action-gh-release@v1
with:
files: |
build/*.zip
build/*.tar.gz
body: ${{ steps.release_template.outputs.content }}
append: true
- name: Upload artifacts
if: "!startsWith(github.ref, 'refs/tags/')"
uses: actions/upload-artifact@v4
with:
name: binaries
path: build/*.{zip,tar.gz}
retention-days: 5