diff --git a/dependencies.yaml b/dependencies.yaml index 076174a..e8370be 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -1,7 +1,7 @@ dependencies: # golangci/golangci-lint - name: "golangci-lint" - version: 1.57.1 + version: 1.58.0 refPaths: - path: mage/golangci-lint.go match: defaultGolangCILintVersion\s+=\s+"v(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?" @@ -15,7 +15,7 @@ dependencies: # cosign - name: "cosign" - version: 2.2.3 + version: 2.2.4 refPaths: - path: mage/cosign.go match: defaultCosignVersion\s+=\s+"v(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?" @@ -29,7 +29,7 @@ dependencies: # sigs.k8s.io/zeitgeist - name: "zeitgeist" - version: 0.4.4 + version: 0.5.3 refPaths: - path: mage/dependency.go match: defaultZeitgeistVersion\s+=\s+"v(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?" diff --git a/mage/cosign.go b/mage/cosign.go index a02c9bb..9a58d36 100644 --- a/mage/cosign.go +++ b/mage/cosign.go @@ -25,7 +25,7 @@ import ( "github.com/uwu-tools/magex/pkg/downloads" ) -const defaultCosignVersion = "v2.2.3" +const defaultCosignVersion = "v2.2.4" // EnsureCosign makes sure that the specified cosign version is available func EnsureCosign(version string) error { diff --git a/mage/dependency.go b/mage/dependency.go index 3e1f691..6e6a664 100644 --- a/mage/dependency.go +++ b/mage/dependency.go @@ -27,9 +27,10 @@ import ( const ( // zeitgeist - defaultZeitgeistVersion = "v0.4.4" + defaultZeitgeistVersion = "v0.5.3" zeitgeistCmd = "zeitgeist" zeitgeistModule = "sigs.k8s.io/zeitgeist" + zeitgeistRemoteModule = "sigs.k8s.io/zeitgeist/remote/zeitgeist" ) // Ensure zeitgeist is installed and on the PATH. @@ -61,6 +62,35 @@ func EnsureZeitgeist(version string) error { return nil } +// Ensure zeitgeist remote is installed and on the PATH. +func EnsureZeitgeistRemote(version string) error { + if version == "" { + log.Printf( + "A zeitgeist remote version to install was not specified. Using default version: %s", + defaultZeitgeistVersion, + ) + + version = defaultZeitgeistVersion + } + + if _, err := semver.ParseTolerant(version); err != nil { + return fmt.Errorf( + "%s was not SemVer-compliant, cannot continue: %w", + version, err, + ) + } + + if err := pkg.EnsurePackageWith(pkg.EnsurePackageOptions{ + Name: zeitgeistRemoteModule, + DefaultVersion: version, + VersionCommand: "version", + }); err != nil { + return fmt.Errorf("ensuring package: %w", err) + } + + return nil +} + // VerifyDeps runs zeitgeist to verify dependency versions func VerifyDeps(version, basePath, configPath string, localOnly bool) error { if err := EnsureZeitgeist(version); err != nil { diff --git a/mage/golangci-lint.go b/mage/golangci-lint.go index 4df7aa7..1ae1566 100644 --- a/mage/golangci-lint.go +++ b/mage/golangci-lint.go @@ -37,7 +37,7 @@ import ( const ( // golangci-lint - defaultGolangCILintVersion = "v1.57.1" + defaultGolangCILintVersion = "v1.58.0" golangciCmd = "golangci-lint" golangciConfig = ".golangci.yml" golangciURLBase = "https://raw.githubusercontent.com/golangci/golangci-lint"