Skip to content

Go feature: golangci-lint installation fails #1635

@ivanov-gv

Description

@ivanov-gv

Hello, everyone

Currently, the Go feature fails to install due to an error with installation of golangci-lint: "err hash_sha256_verify checksum for ... did not verify". This happens since the golangci-lint v2.12.1 release on 2026-05-02.

Root cause

The v2.12.1 changelog states:

Important

If you are using the install script from the master branch:
https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh
This branch is not used anymore, we are using main.

We recommend using https://golangci-lint.run/install.sh as URL to install golangci-lint.

https://golangci-lint.run/docs/welcome/install/local/#binaries

Usage of the outdated install script causes the issue. The script on master has a bug in hash_sha256_verify, and the fix landed on main, but master was left behind.

Steps to reproduce

The issue can be reproduced with devcontainer features test -f go :

$ devcontainer features test  -f go

┌ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┐
|    Dev Container Features   |   
│           v0.84.1           │
└ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┘

>  baseImage:         ubuntu:focal
>  Target Folder:     /home/ivanov_gv/Projects/github.com/ivanov-gv/features
>  features:          go
>  workspaceFolder:   /tmp/devcontainercli/container-features-test/1777891524201

⏳ Building test container...

...

138.9 Installing golangci-lint latest...
139.1 golangci/golangci-lint info checking GitHub for latest tag
139.8 golangci/golangci-lint info found version: 2.12.1 for v2.12.1/linux/amd64
141.7 golangci/golangci-lint err hash_sha256_verify checksum for '/tmp/tmp.10RtiDdnca/golangci-lint-2.12.1-linux-amd64.tar.gz' did not verify 82c7932d9aa10c34e22ef56961ac5aad71d4a14806a1a31b06931add2688b368
141.7 4a1fed90469250d59ab1d623521c3584027ed9cf94ea7aba3c2477164746e2cf vs 82c7932d9aa10c34e22ef56961ac5aad71d4a14806a1a31b06931add2688b368
141.7 ERROR: Feature "Go" (Unknown) failed to install! Look at the documentation at https://github.com/devcontainers/features/tree/main/src/go for help troubleshooting this error

The fix

As mentioned in the changelog, it is recommended to use https://golangci-lint.run/install.sh script instead of https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh, which is used in the Go feature:

features/src/go/install.sh

Lines 328 to 333 in 71c999d

curl -fsSL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | \
sh -s -- -b "${TARGET_GOPATH}/bin"
else
echo "Installing golangci-lint ${GOLANGCILINT_VERSION}..."
curl -fsSL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | \
sh -s -- -b "${TARGET_GOPATH}/bin" "v${GOLANGCILINT_VERSION}"

I'll be happy to open a PR switching the URL shortly.

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions