Repository navigation
Conversation
`make lint` fails on a machine that does not yet have the pinned linter,
whenever stdin is not a TTY:
2 candidates found for asset chain: please select manually
(1) golangci-lint-2.12.2-linux-amd64.tar.gz
(2) golangci-lint-2.12.2-linux-amd64.tar.gz.sbom.json
Enter selection number: Error reading selection
make: *** [Makefile:107: .../golangci-lint-v2] Error 1
The release ships an SBOM alongside each archive, and `--asset=tar.gz`
matches both, so eget asks which one to use. With no TTY to answer, the
target dies and takes `make lint` with it.
Adding eget's exclusion prefix makes the match unambiguous.
Assisted-By: Claude Opus 5
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
make lintfails on any machine that does not already have the pinned linter, whenever stdin is not a TTY (CI step, container, editor task, agent shell):The golangci-lint release publishes
…-linux-amd64.tar.gz.sbom.jsonnext to…-linux-amd64.tar.gz.--asset=tar.gzis a substring match, so it matches both and eget prompts for a choice. With no TTY to answer, the target fails and takesmake lintwith it.It works once the binary is present, because
--upgrade-onlythen skips the fetch — so this only bites on a fresh checkout or a new machine, which is exactly when a contributor is least equipped to debug it.Fix
Add eget's
^exclusion prefix so the match is unambiguous.Verification
Removed the installed binary to force a re-fetch, then ran
make lintwith stdin not a TTY:Note
Only the golangci-lint target needs this today — the
mockeryandhugoreleases don't currently publish a colliding asset, so I left those lines alone. The same one-word fix would apply if they ever do.🤖 Generated with Claude Code