add actions

This commit is contained in:
2024-03-10 00:42:36 -06:00
parent 5fced26e78
commit 8e2cfc67e3
4 changed files with 97 additions and 1 deletions

View File

@@ -0,0 +1,28 @@
name: Build and Artifact Vulture
on:
push:
branches:
- "master"
- "develop"
jobs:
build:
env:
RUNNER_TOOL_CACHE: /toolcache
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/setup-go@v5
with:
go-version-file: 'go.mod'
- name: setup-dependencies
run: |
apt install mingw-w64 gcc
- name: build-linux
run: |
GOOS=linux GOARCH=amd64 CGO_ENABLED=1 CC=gcc go build -v -ldflags="-s -w -X 'main.Version=${{github.ref_name}}'" -o bin/sw1ped-mod-switcher-${{github.ref_name}}-linux-amd64
- name: build-windows
run: |
GOOS=windows GOARCH=amd64 CGO_ENABLED=1 CC=x86_64-w64-mingw64-gcc go build -v -ldflags="-s -w -X 'main.Version=${{github.ref_name}}'" -o bin/sw1ped-mod-switcher-${{github.ref_name}}-windows-amd64.exe

View File

@@ -0,0 +1,37 @@
name: PR Validation
on:
pull_request:
branches:
- master
- develop
jobs:
build:
name: Build and Test Vulture
env:
RUNNER_TOOL_CACHE: /toolcache
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/setup-go@v5
with:
go-version-file: 'go.mod'
- name: setup-dependencies
run: |
apt install mingw-w64 gcc
- name: Build
run: go build -v ./...
- name: Run Tests
run: go test -v ./...
- name: Check Vet
run: go vet ./...
- name: Check Formatting
run: |
gofmt -s -l .
if [ "$(gofmt -s -l . | wc -l)" -gt 0 ]; then exit 1; fi
- name: Check Lint
uses: golangci/golangci-lint-action@v3
with:
version: latest

View File

@@ -0,0 +1,32 @@
name: release
on:
push:
tags:
- '*'
jobs:
release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/setup-go@v5
with:
go-version-file: 'go.mod'
- name: setup-dependencies
run: |
apt install mingw-w64 gcc
- name: release-build-linux
run: GOOS=linux GOARCH=amd64 go build -ldflags="-s -w -X 's1d3sw1ped/vulture/config.BuildVersion=${{github.ref_name}}'" -o bin/vulture-${{github.ref_name}}-linux-amd64
- name: release-build-windows
run: GOOS=windows GOARCH=amd64 go build -ldflags="-s -w -X 's1d3sw1ped/vulture/config.BuildVersion=${{github.ref_name}}'" -o bin/vulture-${{github.ref_name}}-windows-amd64.exe
- name: release-build-darwin
run: GOOS=darwin GOARCH=amd64 go build -ldflags="-s -w -X 's1d3sw1ped/vulture/config.BuildVersion=${{github.ref_name}}'" -o bin/vulture-${{github.ref_name}}-darwin-amd64
- name: update-release
uses: https://gitea.com/actions/release-action@main
with:
files: |-
bin/**
api_key: '${{secrets.RELEASE_TOKEN}}'