Track Prometheus and Thanos dependency ignores in dependabot.yml - #7784
Open
CharlieTLe wants to merge 1 commit into
Open
Track Prometheus and Thanos dependency ignores in dependabot.yml#7784CharlieTLe wants to merge 1 commit into
CharlieTLe wants to merge 1 commit into
Conversation
The Prometheus and Thanos module families must move in lockstep with the pinned github.com/prometheus/prometheus and github.com/thanos-io/thanos, which we bump manually and jointly. Dependabot's grouped go-dependencies PRs keep bumping one of them alone, which breaks the build and forces a manual '@dependabot ignore ...' comment on each PR (e.g. cortexproject#7781, where client_golang v1.24 changed api/prometheus/v1.LabelNames to return model.LabelNames and failed lint, test, and build-integration-tests). Move that policy into the repo: ignore the whole github.com/prometheus/* family for major/minor bumps (patches still land automatically for security fixes), keep prometheus/prometheus itself fully ignored, and ignore github.com/thanos-io/* outright since those modules are on pseudo-versions that no update-types filter would match. Signed-off-by: Charlie Le <charlie_le@apple.com>
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.
What this PR does
Moves the Prometheus/Thanos Dependabot ignore policy into
.github/dependabot.ymlso it no longer has to be hand-typed as@dependabot ignore ...comments on each grouped PR.Why: the Prometheus and Thanos module families must move in lockstep with the pinned
github.com/prometheus/prometheus(v0.309.1) andgithub.com/thanos-io/thanos(v0.42.1-0.20260727122508-92397939e4cc), which this repo bumps manually and jointly (precedent: #7535, #7691, #7740). When Dependabot moves one alone, the source breaks.Most recently on #7781,
client_golangv1.23.2 → v1.24.1 changedapi/prometheus/v1.LabelNamesto returnmodel.LabelNamesinstead of[]string:which failed
lint,test,test-no-race, andbuild-integration-testson both arches.The config today only ignores
github.com/prometheus/prometheus. The modules that actually keep breaking —client_golangandcommon— were unlisted, and Thanos was only excluded from the group, which is not an ignore (Dependabot still opened standalone Thanos PRs: #7263, #6899, #6858). The@dependabot ignorecomments do persist, but only as state on Dependabot's side: invisible in the repo and unreviewable.Notes on the rules
prometheus/prometheusentry replaces the oldversions: [">=0.300.0-beta.0"]form while preserving its effect. Dropping the version range also blocks patch bumps of Prometheus itself, matching today's behavior — the wildcard rule alone would have started lettingv0.309.1 → v0.309.2through.dependency-nameglob isFile.fnmatchwithoutFNM_PATHNAME, so*crosses/.github.com/prometheus/*coversclient_golang,common,client_model,alertmanager,procfs,exporter-toolkit,otlptranslator, and the nestedclient_golang/expmodule.github.com/thanos-io/*coversthanos,objstore, andpromql-engine.prometheus/prometheus) only major/minor are ignored, so patch-level security fixes still land automatically.update-typesbecause all three modules are on pseudo-versions (objstore v0.0.0-20250804...,promql-engine v0.0.0-20260729...,thanos v0.42.1-0.20260727...). Av0.0.0-2025… → v0.0.0-2026…bump is no semver level change at all, so anupdate-typesfilter would silently fail to match.procfsandclient_modelminor bumps (which have landed cleanly before) now need a manual bump.exclude-patterns: ["github.com/thanos-io/thanos"]is kept as-is. It is now redundant, but removing it would leavego-dependencies:an empty mapping, and it stays a useful safety net if the Thanos ignore is ever relaxed.No
CHANGELOG.mdentry: CI-only change, not user-facing, consistent with priordependabot.ymlcommits (d595cba6c7,9430d35a3a,e6b828f95a).Follow-up after merge
The earlier
@dependabot ignore github.com/prometheus/client_golang/... github.com/prometheus/commoncomments created all-versions ignores on Dependabot's side, which would keep suppressing the patch bumps this config intends to permit. Once this merges, on an open Dependabot PR:Verification
python3 -c "import yaml; yaml.safe_load(open('.github/dependabot.yml'))"parses cleanly; thegomodentry'sdirectories,groups,schedule, and thegithub-actionsentry are unchanged.go.modpins untouched:prometheus v0.309.1,client_golang v1.23.2,common v0.69.0,thanos v0.42.1-0.20260727122508-92397939e4cc.@dependabot show <module> ignore conditionson an open Dependabot PR, and by checking that the next dailygo-dependenciesPR lists nogithub.com/prometheus/*rows and that no standalone Thanos PR appears.