Files
go/.hanzo/workflows/golangci-lint.yml
zeekayandHanzo Dev 096f96835b runs-on names a machine, not a purpose
The purpose-prefixed labels (hanzo-build-*, hanzo-deploy-*, hanzo-docs-build-*)
are retired in favour of the bare <os>-<arch> every runner already advertises.

They were not a capability, only a habit, and the habit cost builds: papers asked
for hanzo-build-linux-amd64, no online runner offered it, and two idle
linux-amd64 runners sat beside the queue while the build simply never ran. The
lux tree lost three days to lux-linux-amd64 the same way.

What a job is FOR is the workflow's name. runs-on is the machine it needs.

Co-authored-by: Hanzo Dev <[email protected]>
2026-09-15 11:36:52 -07:00

35 lines
824 B
YAML

name: golangci-lint
on:
push:
tags:
- v*
branches:
- master
- main
- v9
- v9.8
pull_request:
permissions:
contents: read
pull-requests: read # for golangci/golangci-lint-action to fetch pull requests
jobs:
golangci:
name: lint
runs-on: linux-amd64
steps:
- uses: actions/checkout@v6
# golangci-lint shells out to `go` to load packages, and the job image
# here does not ship a toolchain on PATH the way GitHub's hosted image
# does. Without this the linter exits on "go command required, not found"
# before it reads a single file.
- uses: actions/setup-go@v6
with:
go-version-file: go.mod
- name: golangci-lint
uses: golangci/[email protected]
with:
verify: true