Skip to content

Merge pull request #60 from infraspecdev/refactor/remove-cli-globals #3

Merge pull request #60 from infraspecdev/refactor/remove-cli-globals

Merge pull request #60 from infraspecdev/refactor/remove-cli-globals #3

Workflow file for this run

name: Release
on:
push:
branches:
- main
permissions:
contents: write
issues: write
pull-requests: write
jobs:
release:
name: Semantic Release
runs-on: ubuntu-latest
outputs:
released: ${{ steps.semantic.outputs.new_release_published }}
version: ${{ steps.semantic.outputs.new_release_version }}
steps:
- name: Checkout
uses: actions/checkout@v6
with:
fetch-depth: 0
- name: Run Semantic Release
id: semantic
uses: cycjimmy/semantic-release-action@v6
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
build:
name: Build and Upload Binaries
needs: release
if: needs.release.outputs.released == 'true'
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v6
- name: Set up Go
uses: actions/setup-go@v6
with:
go-version: "1.26.1"
- name: Create dist folder
run: mkdir -p dist
- name: Build for Linux (amd64)
env:
GOOS: linux
GOARCH: amd64
run: go build -v -o dist/goperf-linux-amd64 .
- name: Build for Darwin (arm64)
env:
GOOS: darwin
GOARCH: arm64
run: go build -v -o dist/goperf-darwin-arm64 .
- name: Build for Windows (amd64)
env:
GOOS: windows
GOARCH: amd64
run: go build -v -o dist/goperf-windows-amd64.exe .
- name: Upload binaries to release
uses: softprops/action-gh-release@v2
with:
tag_name: v${{ needs.release.outputs.version }}
files: |
dist/goperf-linux-amd64
dist/goperf-darwin-arm64
dist/goperf-windows-amd64.exe
generate_release_notes: false
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}