Files
GoMines/.github/workflows/release.yml
2025-02-09 15:23:29 +03:00

56 lines
1.2 KiB
YAML

name: Build and Release Go Binary
on:
push:
tags:
- "v*"
- "v*.*.*-*"
jobs:
build:
name: Build Go Binary
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: 1.23
- name: Build Binary
run: |
mkdir -p dist
GOOS=linux GOARCH=amd64 go build -o dist/go-mines-linux-amd64 .
GOOS=windows GOARCH=amd64 go build -o dist/go-mines-windows-amd64.exe .
GOOS=darwin GOARCH=amd64 go build -o dist/go-mines-macos-amd64 .
- name: Upload Build Artifacts
uses: actions/upload-artifact@v4
with:
name: go-mines-binaries
path: dist/*
release:
name: Create GitHub Release
needs: build
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Download Build Artifacts
uses: actions/download-artifact@v4
with:
name: go-mines-binaries
path: dist
- name: Create GitHub Release
uses: softprops/action-gh-release@v2
with:
files: dist/*
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}