build: exclude the sbom asset when fetching golangci-lint - #671
Open
l1a wants to merge 1 commit into
Open
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
l1a
added a commit
to l1a/resticprofile
that referenced
this pull request
Jul 30, 2026
- PRs 1, 3 and 5 are now open upstream as creativeprojects#670, creativeprojects#672 and creativeprojects#671. Note that they are opened with ghpub, since the default fine-grained PAT cannot create pull requests on repositories we do not own. - Flag that creativeprojects#672 conflicts with our own master: the fork already fixed that same test differently in 1282c8d (before/after count rather than filtering). Records how to resolve it on the next merge. - Quote issue creativeprojects#331, where the maintainer states linger is not something resticprofile should set up automatically and drop-in files are the sanctioned mechanism. Wave 4A must not be opened as-is; notes the warning-instead-of-enforcement slice that could land. - Correct the mock drift note: mockery v3.7.0 vs upstream's pinned v3.7.1 is the likelier cause, and mark the check as unconfirmed. - Keep PR 3 and 5 bodies alongside PR 1's in upstream-prs/. 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