* fix(argocd): support OCI Helm charts without explicit chart field
Add OCI registry detection for ArgoCD Applications that specify
Helm charts via oci:// URL without an explicit chart field.
Previously, any repoURL containing :// (including oci://) would
be treated as a git repository when the chart field was absent,
causing "Failed to look up git-tags package" errors.
The fix checks for oci:// prefix before falling back to git-tags
datasource, ensuring proper docker datasource usage for OCI registries.
Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Aleksei Sviridkin <f@lex.la>
* test(argocd): remove duplicate test for OCI without chart field
The test case is already covered by the 'full test' which includes
all fixtures from validApplication.yml, including the new OCI chart
without explicit chart field.
Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Aleksei Sviridkin <f@lex.la>
---------
Signed-off-by: Aleksei Sviridkin <f@lex.la>
Co-authored-by: Claude <noreply@anthropic.com>
* only install npm if pinned version found
* only extract npm constraint from lockfile-version<3
* remove redundant log
* add test
* revert test removal
Refactors `getNewValue` logic to replace it with an optional
`getPinnedValue()` where rangeStrategy=pin. This way each versioning
module doesn't need to add and test extensive "pin" logic.
This should not be breaking, but out of an abundance of caution, we'll
mark it as such.
* feat(swift): add support for GitHub and GitLab specific datasources
Previously the Swift manager used git-tags datasource for all dependencies.
Now it uses github-tags for GitHub URLs and gitlab-tags for GitLab URLs to enable releaseTimestamp support for minimumReleaseAge functionality.
* Update supportedDatasources as well
* Fix lint errors
* Update snapshots
* Remove unnecessary test cases
* Revert "Remove unnecessary test cases"
This reverts commit aa68a06fe5.
* Fix to set packageName only when datasource is git-tags
* Remove unnecessary variable
* Remove unnecessary packageName setting
* feat(swift): add support for self-hosted GitHub and GitLab instances
Add registryUrls support for self-hosted GitHub Enterprise and GitLab
instances by detecting non-public hosts and setting the base URL as
the registry. This enables the datasources to query the correct API
endpoints for self-hosted installations.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* refactor(swift): improve registryUrls condition check
Use optional chaining with length check to exclude empty arrays
in addition to undefined and null values for registryUrls.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
---------
Co-authored-by: Claude <noreply@anthropic.com>
Until the completion of #38659, we should make it clearer that digests
do not have a `releaseTimestamp` associated with them.
This will also be improved in #38656 to provide the correct
`releaseTimestamp` of a given digest.
As flagged in #38212, this can lead to digests looking newer than they
are, and possibly cause `minimumReleaseAge` not to work.
We should surface this to users, and point to the issue for
documentation purposes.
* fix(nix): flake lock refresh
* fix(nix): handle nixpkgs upgrades with not explicit ref correct
* Remove fileMatch hack
* Force lock file updates for nix
* Support new lockable channel
as requested by @Mic92
* Fix lints
* Remove hack and set rangeStrategy instead
* Fix tests
* Add example comments
* Use codeBlock, inline fixtures
* Add test back which went missing while merging
* Simplify code
* Fix tests
* Fix undefined being displayed in dashboard
* revert: Fix undefined being displayed in dashboard
* fix(nix): use lockedVersion, fake confirmations and conditionally set currentValue
* test(nix): check for lockedVersion instead of currentDigest, remove rangeStrategy
* fix: only replace digest
* fix: make sure flake.nix contains new digest
* fix: replace deprecated update-input with flake update
* fix: update tests
* fix: only set lockedVersion for lockable tarballs, cleanup
* fix: don't use special versioning
* fix: get nixpkgs currentValue in tarballs
* test: fill in code coverage gaps
* test: fill in more code coverage gaps
* fix: use correct extract type
* test: improve code coverage
* test: explicitly check flakeLocked and flakeOriginal to see what isn't being covered
* fix: check both original and locked inputs for bad types
* test: add missing root
* Update lib/modules/manager/nix/extract.ts
Co-authored-by: Joshua Spence <josh@spence.com.au>
* Update lib/modules/manager/nix/extract.ts
Co-authored-by: Joshua Spence <josh@spence.com.au>
* fix: explicitly set log messages
* Update lib/modules/manager/nix/extract.ts
Co-authored-by: RahulGautamSingh <rahultesnik@gmail.com>
* Update lib/modules/manager/nix/extract.ts
Co-authored-by: RahulGautamSingh <rahultesnik@gmail.com>
* Update lib/modules/manager/nix/extract.ts
Co-authored-by: RahulGautamSingh <rahultesnik@gmail.com>
---------
Co-authored-by: Sandro Jäckel <sandro.jaeckel@gmail.com>
Co-authored-by: Joshua Spence <josh@spence.com.au>
Co-authored-by: RahulGautamSingh <rahultesnik@gmail.com>
As this note right now is not super clear that this support only works
with Docker Hub's API, which is not uniform with other registries, hence
it being a separate branch of code.
* feat(gerrit): handle pagination when querying changes
* Add noPagination option, rename pageLimit to limit, and JSDoc them
* Rename limit to pageLimit
* Rename test references
* feat(github-actions): extract and update version for `pypa/hatch@install` action
* docs(managers/github-actions): add pypa install action to community uses-with list
As noted in #38212, Docker tags on Docker Hub that contain a
`tag_last_pushed` will use this as the digest's `releaseTimestamp`, even
if that digest was i.e. pushed 3 months before the latest digest was
pushed.
We should document this behaviour before we change this (#38659).
* feat(gitlab-ci): Add `semver-partial` versioning
* Add supported range strategies to semver-partial
* Add test cases for invalid semver inputs
* Remove unused sortVersions spec test
* Add tests for semver-partial versioning edge cases
* Simplify semver-partial version comparison logic
* Rewrite AI slop
* Add tests and improve semver-partial version matching
* Remove support for v-prefixed versions and bump strategy
* Refactor isLessThanRange to use parseVersion/Range
* Remove duplicate test cases in semver-partial spec
* feat(gitlab-ci): Add `semver-partial` versioning
* Add supported range strategies to semver-partial
* Add test cases for invalid semver inputs
* Remove unused sortVersions spec test
* Add tests for semver-partial versioning edge cases
* Simplify semver-partial version comparison logic
* Rewrite AI slop
* Add tests and improve semver-partial version matching
* Remove support for v-prefixed versions and bump strategy
* Refactor isLessThanRange to use parseVersion/Range
* Remove duplicate test cases in semver-partial spec
* Remove GitLab CI extract changes (split into separate PR)
* use branchPrefix if multiple base branches expected
* fix test
* fix coverage
* apply suggestions
* apply suggestions
* use utility fn
* refactor tests
* fix test
* major overhaul: use baseBranches field internally
suggested by @secustor
* refactor: cleanup
* test: use better descriptions
* add tests
* fix logic
* fix test
* exclude unlisted versions when finding latestStable
---------
Co-authored-by: Rhys Arkins <rhys@arkins.net>