Files
molecule-cli/.gitea/workflows/release.yml
T
sdk-dev feb3832d5d
Release Go binaries / test (pull_request) Successful in 6m17s
CI / Test / test (pull_request) Successful in 6m22s
Release Go binaries / release (pull_request) Has been skipped
sop-checklist / all-items-acked SOP checklist acknowledged by sdk-dev
fix(ci): correct .gitea/workflows path filters in ci.yml and release.yml
Both workflow files referenced .github/workflows/ci.yml and
.github/workflows/release.yml in their path filters, but the actual
workflow files live under .gitea/workflows/. The mismatch meant CI never
triggered on changes to the workflow files themselves, and never triggered
on any PR (which doesn't touch Go code but does touch workflow files).

Fix: replace .github/workflows/ references with .gitea/workflows/.
Also added .gitea/workflows/release.yml to ci.yml's path filter so
changes to the release workflow also run the CI test job.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-13 08:46:11 +00:00

76 lines
2.3 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
name: Release Go binaries
# Two paths land here:
# pull_request — runs the test job (vet + race-detector tests across the
# whole module) so every PR proves the binary still builds and passes
# all tests, not just cmd/molecule.
# push tags v* — runs test + GoReleaser to cut multi-OS binaries (linux/
# darwin/windows × amd64/arm64), checksums, and a GitHub Release. The
# release config lives in .goreleaser.yaml.
#
# Why GoReleaser over inline `go build`: checksums, release notes from
# git commits, and one config file that future channels (Homebrew tap,
# scoop bucket, Chocolatey) hook into without adding new workflow steps.
on:
push:
tags: ['v*']
pull_request:
paths:
- '**.go'
- 'go.mod'
- 'go.sum'
- '.gitea/workflows/release.yml'
- '.goreleaser.yaml'
permissions:
contents: write
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: '1.25'
cache: true
- name: Tidy
run: go mod tidy && git diff --exit-code go.sum
# Vet covers the whole module — was previously scoped to three
# packages, which silently let regressions in internal/backends/
# or internal/connect/ ship.
- name: Vet
run: go vet ./...
# Race detector required: the connect orchestrator runs
# heartbeat + poll goroutines concurrently. A race here would
# corrupt cursor state.
- name: Test
run: go test -race -count=1 ./...
release:
runs-on: ubuntu-latest
needs: [test]
if: startsWith(github.ref, 'refs/tags/v')
steps:
- uses: actions/checkout@v4
with:
# GoReleaser needs full history for its commit-based
# changelog. fetch-depth: 0 pulls everything.
fetch-depth: 0
- uses: actions/setup-go@v5
with:
go-version: '1.25'
cache: true
- name: Validate goreleaser config
uses: goreleaser/goreleaser-action@v6
with:
version: '~> v2'
args: check
- name: Run GoReleaser
uses: goreleaser/goreleaser-action@v6
with:
version: '~> v2'
args: release --clean
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}