25 lines
1.1 KiB
YAML
25 lines
1.1 KiB
YAML
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
|