Test / test (push) Successful in 2m4s
Release / gates (push) Successful in 2m5s
Release / build (amd64, freebsd) (push) Successful in 1m27s
Release / build (amd64, linux) (push) Successful in 1m22s
Release / build (amd64, netbsd) (push) Successful in 1m19s
Release / build (amd64, openbsd) (push) Successful in 1m20s
Release / build (arm64, darwin) (push) Successful in 1m21s
Release / build (arm64, freebsd) (push) Successful in 1m26s
Release / build (arm64, linux) (push) Successful in 1m25s
Release / build (arm64, netbsd) (push) Successful in 1m31s
Release / build (arm64, openbsd) (push) Successful in 1m27s
Release / build (loong64, linux) (push) Successful in 1m37s
Release / build (riscv64, linux) (push) Successful in 1m21s
Release / release (push) Successful in 40s
Assisted-by: GLM 5.3 Flash
40 lines
1.2 KiB
YAML
40 lines
1.2 KiB
YAML
# Race, Go. Dispatched by hand, and never a gate on a push or a tag: the release tag is
|
|
# cut only after `just gates` has already raced the tree, so this workflow is the
|
|
# explicit second opinion, not a step of the release.
|
|
#
|
|
# The race detector roughly doubles both time and memory, which the shared runner box
|
|
# cannot afford on every push. Locally it belongs to `just gates`, which runs it once per
|
|
# task; here it is a decision rather than a routine.
|
|
#
|
|
# Every step is one command, so the step that fails is the gate that failed.
|
|
name: Race
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
|
|
env:
|
|
# One core: parallelism buys no speed here and costs memory the box does not have.
|
|
GOFLAGS: -p=1
|
|
GOMAXPROCS: "2"
|
|
|
|
jobs:
|
|
race:
|
|
runs-on: fedora
|
|
timeout-minutes: 20
|
|
steps:
|
|
- uses: actions/checkout@v7
|
|
|
|
- uses: actions/setup-go@v6
|
|
with:
|
|
go-version-file: go.mod
|
|
cache: true
|
|
|
|
- name: Install gcc
|
|
# The race detector needs cgo and the runner image carries no C compiler.
|
|
run: dnf install -y gcc
|
|
|
|
- name: Race
|
|
# The pattern matches `packages` in the project's justfile: the logic
|
|
# packages under internal/.
|
|
run: go test -race -count=1 -timeout 10m ./internal/...
|