fix(renovate): point ferrlabs-* cargo deps at the Kellnr sparse index - #192
Merged
Conversation
Contributor
There was a problem hiding this comment.
Good root-cause analysis and the prPriority removal is correct (schema does reject it on vulnerabilityAlerts). One blocking issue on the actual fix — see inline comment: the new registryUrls value is missing the sparse+ prefix that this same repo's renovate.yml already uses for the identical Kellnr index URL, so Renovate will likely still fail to resolve ferrlabs-* crates, just via a different code path than the one described in the PR.
Co-authored-by: ferrfleet[bot] <307549260+ferrfleet[bot]@users.noreply.github.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.
Closes #184
ferrlabs-*Cargo crates have never received a semver update. Four APIs sit onferrlabs-errors 0.2.0while Kit publishes0.9.1, and that gap is what broke FerrLens (FerrLens-Cloud#262 —?stopped convertingsqlx::Errorbecause theFromimpl postdates 0.2.0).Root cause — narrower than the issue described
The issue guessed that both registry discovery and auth were missing. Auth is actually fine:
renovate.ymlalready carries acrates.ferrlabs.comhostRule withhostType: cargoand the Kellnr token.The real problem is only discovery. These deps declare:
Renovate resolves the name
kellnrthrough.cargo/config.toml— but that file lives in each repo'sapi/subdirectory, which Renovate does not discover.renovate.ymlalready documents this exact failure in a comment: "where that subdir config isn't discovered (registry index was not found: kellnr)". The env vars it sets fix it for thecargobinary during lockfile maintenance, but Renovate's own datasource lookup is a separate path and still fails — silently, which is why no PR was ever opened.Fix
Set
registryUrlson the^ferrlabs-cargo packageRule so the lookup bypasses registry-name resolution entirely — the same override the@ferrlabs/npm rule already uses to point at GHCR.Also in this PR
vulnerabilityAlerts.prPriorityremoved. The officialrenovate-config-validatorrejects it: "prPrioritycan't be used invulnerabilityAlerts. Allowed objects: packageRules." It was silently ignored, so security-alert PRs never got the priority boost the config intended. Removing it makes the config honest; if the boost is wanted it has to move to a packageRule.Verification
npx --package renovate renovate-config-validator default.json— the config parses and neither change raises anything.What this cannot prove locally is that Renovate now finds the crates: that needs a live run against the registry. The check after merge is a
ferrlabs-errors 0.2.0 → 0.9.1PR appearing on one of FerrVault / FerrTrack / FerrGrowth / FerrLens.Careful on the first wave
The rule carries
automerge: truewithminimumReleaseAge: 0. A seven-minor jump on a shared error type will not be a clean bump — FerrLens#262 shows it needs code changes. Worth landing this with automerge temporarily off for the cargo rule, or being ready to close the first batch of PRs and stage them per repo.Separate finding
The validator also flagged
packageRules[3].matchMergeConfidenceas invalid — that is a different problem with real consequences, filed on its own.