Files
scoutfs-manager/.gitea/workflows/release.yml
William Gill 7a15a2101f
Some checks failed
Release / Build & Vet (push) Successful in 1m18s
Release / Test (push) Successful in 1m15s
Release / Lint (push) Failing after 1m50s
Release / GoReleaser Check (push) Successful in 1m6s
Release / Build & Release (push) Failing after 2m20s
ci: Add Gitea Actions for release automation and package builds
2026-04-04 00:04:21 -05:00

121 lines
2.4 KiB
YAML

name: Release
on:
push:
tags:
- 'v*'
jobs:
build:
name: Build & Vet
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version-file: go.mod
- name: Download dependencies
run: go mod download
- name: Vet
run: go vet ./...
- name: Build
run: go build ./cmd/...
test:
name: Test
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version-file: go.mod
- name: Run tests
run: go test -race -count=1 ./...
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version-file: go.mod
- name: Install staticcheck
run: go install honnef.co/go/tools/cmd/staticcheck@latest
- name: Run staticcheck
run: staticcheck ./...
- name: Check formatting
run: |
UNFORMATTED=$(gofmt -l .)
if [ -n "$UNFORMATTED" ]; then
echo "Files not formatted:"
echo "$UNFORMATTED"
exit 1
fi
goreleaser-check:
name: GoReleaser Check
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version-file: go.mod
- name: Install GoReleaser
uses: goreleaser/goreleaser-action@v6
with:
install-only: true
- name: Validate config
run: goreleaser check
- name: Dry run
run: goreleaser build --snapshot --clean
release:
name: Build & Release
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version-file: go.mod
- name: Run tests
run: go test -race -count=1 ./...
- name: Run GoReleaser
uses: goreleaser/goreleaser-action@v6
with:
args: release --clean
env:
GITEA_TOKEN: ${{ secrets.TOKEN_GITEA }}