mirror of
https://github.com/renovatebot/renovate.git
synced 2026-10-27 15:58:48 +00:00
1ea8602aaa
* test(manager): cover twelve else-if branches The trailing `else if` of a chain leaves v8 counting an implicit else that no coverage-ignore hint can suppress. Fourteen of those were marked as structurally unreachable, but only two of them actually are -- each of these twelve has an input that takes it: - `bazel`: an archive url whose file name is only a suffix, which strips to an empty value, so neither value nor digest is set - `cargo`: a `[package]` section with no `version` at all - `composer`: an inline `package` repository, which the discriminated union does carry, contrary to the comment that claimed otherwise - `deps-edn`: an `:mvn/repos` entry whose spec is a plain string - `gomod`: an update where only the `go` directive changed, leaving no additional dependencies to count - `helmfile`: a release with an empty chart name, which is neither a local path nor an oci ref and yields an empty repo name - `nuget`: a lock file that is gone after the restore - `swift`: a comma where `from` expects a colon, and where `from:` expects a version -- both are labels the state machine searches for and then ignores - `terraform`: a module source too short to be a registry module - `tflint-plugin`: a quoted attribute that is neither version nor source - `travis`: a matrix `node_js` that is a number The stale comments go with them. Three more in `swift` were already wrong before this change: the branches they described were covered. Co-authored-by: Claude Opus 5 <michael.kriese+claude-code@mend.io> * refactor(manager): collapse two exhaustive else-if chains `glasskube` and `gradle` were the only two of the fourteen trailing `else if` branches that really are unreachable, and both are provable from a type rather than from a reading of the surrounding code: - `glasskube` parses resources with a schema that admits exactly `Package`, `ClusterPackage` and `PackageRepository`, and filters anything else out - `gradle`'s `ContentDescriptorSpec.mode` is `'include' | 'exclude'` Turning the final `else if` into a plain `else` drops the phantom branch v8 was counting. With these, the manager tree reaches 100% branch coverage. The glasskube check is inverted so that the single-literal discriminant narrows for the compiler. Co-authored-by: Claude Opus 5 <michael.kriese+claude-code@mend.io> * test(manager/travis): inline the numeric node_js fixture The three-line fixture went into `__fixtures__` only because every other fixture in this spec is loaded through `Fixtures.get`. A reader of the test should be able to see the input without opening a second file, so write it inline with `codeBlock`. Co-authored-by: Claude Opus 5 <michael.kriese+claude-code@mend.io> --------- Co-authored-by: Claude Opus 5 <michael.kriese+claude-code@mend.io>
Bazel is quite unlike most other "package managers" that Renovate supports, which usually focus on a particular ecosystem like JavaScript, Ruby or Docker. Instead, Bazel is a build tool so supports a multitude of languages/datasources. Renovate does not support all possible Bazel references, although would like to, and feature requests are welcome.
If you need to change the versioning format, read the versioning documentation to learn more.