name: better-setup-golangci-lint description: Install a pinned golangci-lint binary statically from its GitHub release asset — musl-safe, no GitHub API probe, Forgejo/act runner safe. inputs: version: description: Exact golangci-lint version to install (x.y.z). required: true runs: using: composite steps: - shell: bash run: | set -euo pipefail v="${{ inputs.version }}" case "$(uname -m)" in x86_64|amd64) arch=amd64 ;; aarch64|arm64) arch=arm64 ;; *) echo "better-setup-golangci-lint: unsupported arch $(uname -m)" >&2; exit 1 ;; esac curl --retry 3 --retry-delay 2 -fsSL -o /tmp/gcl.tgz \ "https://github.com/golangci/golangci-lint/releases/download/v${v}/golangci-lint-${v}-linux-${arch}.tar.gz" tar -xzf /tmp/gcl.tgz -C /tmp "golangci-lint-${v}-linux-${arch}/golangci-lint" mv "/tmp/golangci-lint-${v}-linux-${arch}/golangci-lint" /usr/local/bin/golangci-lint rm -rf /tmp/gcl.tgz "/tmp/golangci-lint-${v}-linux-${arch}" golangci-lint version