From a7a30d36e01ce90fe07ced79fc367dbbb6491e58 Mon Sep 17 00:00:00 2001 From: Michal Wojcik Date: Tue, 18 Nov 2025 09:33:05 +0000 Subject: [PATCH 1/7] DXE-5802 Migrate code to go 1.24 version --- CHANGELOG.md | 7 +++++++ Makefile | 2 +- README.md | 2 +- go.mod | 12 ++++++------ go.sum | 20 ++++++++++---------- pkg/commands/command_install.go | 16 ++++++++-------- pkg/commands/command_list.go | 6 +++--- pkg/commands/command_search.go | 10 +++++----- pkg/commands/command_subcommand.go | 2 +- pkg/commands/command_uninstall.go | 2 +- pkg/commands/command_update.go | 8 ++++---- pkg/commands/command_upgrade_test.go | 2 +- pkg/commands/upgrade.go | 4 ++-- pkg/terminal/terminal.go | 6 +++--- 14 files changed, 53 insertions(+), 46 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fef4725..0ae939d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ # RELEASE NOTES +## X.Y.Z (YYYY-MM-DD) + +* General + * Migrated to Go `1.24`. + * Updated various dependencies. + + ## 2.0.2 (Aug 21, 2025) ### Enhancements diff --git a/Makefile b/Makefile index 7528a89..f725f38 100644 --- a/Makefile +++ b/Makefile @@ -2,7 +2,7 @@ GOIMPORTS_VERSION = v0.24.0 GO_JUNIT_REPORT_VERSION = v2.1.0 GOCOV_VERSION = v1.1.0 GOCOVXML_VERSION = v1.1.0 -GOLANGCI_LINT_VERSION = v1.63.4 +GOLANGCI_LINT_VERSION = v1.64.8 BIN = $(CURDIR)/bin GOCMD = go diff --git a/README.md b/README.md index caf5ebe..73aea1a 100644 --- a/README.md +++ b/README.md @@ -101,7 +101,7 @@ This command installs the CLI and persists the configuration and packages in `$H ### Compile from Source -**Prerequisite:** Make sure you install Go 1.23.6 or later. +**Prerequisite:** Make sure you install go 1.24.10 or later. To compile Akamai CLI from source: diff --git a/go.mod b/go.mod index 040a777..684f503 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/akamai/cli/v2 -go 1.23.6 +go 1.24.10 require ( github.com/AlecAivazis/survey/v2 v2.3.7 @@ -16,9 +16,8 @@ require ( github.com/mitchellh/go-homedir v1.1.0 github.com/stretchr/testify v1.10.0 github.com/urfave/cli/v2 v2.19.3 - golang.org/x/net v0.38.0 - golang.org/x/sys v0.31.0 - golang.org/x/text v0.23.0 + golang.org/x/sys v0.38.0 + golang.org/x/text v0.31.0 ) require ( @@ -45,8 +44,9 @@ require ( github.com/stretchr/objx v0.5.2 // indirect github.com/xanzy/ssh-agent v0.3.3 // indirect github.com/xrash/smetrics v0.0.0-20240521201337-686a1a2994c1 // indirect - golang.org/x/crypto v0.36.0 // indirect - golang.org/x/term v0.30.0 // indirect + golang.org/x/crypto v0.44.0 // indirect + golang.org/x/net v0.46.0 // indirect + golang.org/x/term v0.37.0 // indirect gopkg.in/warnings.v0 v0.1.2 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/go.sum b/go.sum index f71d7e7..2b79ddd 100644 --- a/go.sum +++ b/go.sum @@ -115,8 +115,8 @@ github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5t golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.36.0 h1:AnAEvhDddvBdpY+uR+MyHmuZzzNqXSe/GvuDeob5L34= -golang.org/x/crypto v0.36.0/go.mod h1:Y4J0ReaxCR1IMaabaSMugxJES1EpwhBHhv2bDHklZvc= +golang.org/x/crypto v0.44.0 h1:A97SsFvM3AIwEEmTBiaxPPTYpDC47w720rdiiUvgoAU= +golang.org/x/crypto v0.44.0/go.mod h1:013i+Nw79BMiQiMsOPcVCB5ZIJbYkerPrGnOa00tvmc= golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56 h1:2dVuKD2vS7b0QIHQbpyTISPd0LeHDbnYEryqj5Q1ug8= golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56/go.mod h1:M4RDyNAINzryxdtnbRXRL/OHtkFuWGRjvuhBJpk2IlY= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= @@ -124,8 +124,8 @@ golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.38.0 h1:vRMAPTMaeGqVhG5QyLJHqNDwecKTomGeqbnfZyKlBI8= -golang.org/x/net v0.38.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8= +golang.org/x/net v0.46.0 h1:giFlY12I07fugqwPuWJi68oOnpfqFnJIJzaIIm2JVV4= +golang.org/x/net v0.46.0/go.mod h1:Q9BGdFy1y4nkUwiLvT5qtyhAnEHgnQ/zd8PfU6nc210= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -140,19 +140,19 @@ golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik= -golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= +golang.org/x/sys v0.38.0 h1:3yZWxaJjBmCWXqhN1qh02AkOnCQ1poK6oF+a7xWL6Gc= +golang.org/x/sys v0.38.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.30.0 h1:PQ39fJZ+mfadBm0y5WlL4vlM7Sx1Hgf13sMIY2+QS9Y= -golang.org/x/term v0.30.0/go.mod h1:NYYFdzHoI5wRh/h5tDMdMqCqPJZEuNqVR5xJLd/n67g= +golang.org/x/term v0.37.0 h1:8EGAD0qCmHYZg6J17DvsMy9/wJ7/D/4pV/wfnld5lTU= +golang.org/x/term v0.37.0/go.mod h1:5pB4lxRNYYVZuTLmy8oR2BH8dflOR+IbTYFD8fi3254= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY= -golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4= +golang.org/x/text v0.31.0 h1:aC8ghyu4JhP8VojJ2lEHBnochRno1sgL6nEi9WGFGMM= +golang.org/x/text v0.31.0/go.mod h1:tKRAlv61yKIjGGHX/4tP1LTbc13YSec1pxVEWXzfoeM= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= diff --git a/pkg/commands/command_install.go b/pkg/commands/command_install.go index 80f4dea..c9cee91 100644 --- a/pkg/commands/command_install.go +++ b/pkg/commands/command_install.go @@ -147,7 +147,7 @@ func installPackage(ctx context.Context, gitRepo git.Repository, langManager pac if _, err = os.Stat(packageDir); err == nil { warningMsg := fmt.Sprintf("Package directory already exists (%s). To reinstall this package, first run 'akamai uninstall' command.", packageDir) logger.Warn(warningMsg) - return nil, cli.Exit(color.YellowString(warningMsg), 0) + return nil, cli.Exit(color.YellowString("%s", warningMsg), 0) } spin.Start("Attempting to fetch package configuration from %s...", repo) @@ -161,9 +161,9 @@ func installPackage(ctx context.Context, gitRepo git.Repository, langManager pac term.WriteError(err.Error()) if strings.Contains(err.Error(), "404") { - return nil, cli.Exit(color.RedString(tools.CapitalizeFirstWord(git.ErrPackageNotAvailable.Error())), 1) + return nil, cli.Exit(color.RedString("%s", tools.CapitalizeFirstWord(git.ErrPackageNotAvailable.Error())), 1) } - return nil, cli.Exit(color.RedString("Unable to install selected package"), 1) + return nil, cli.Exit(color.RedString("%s", "Unable to install selected package"), 1) } spin.OK() @@ -184,7 +184,7 @@ func installPackage(ctx context.Context, gitRepo git.Repository, langManager pac spin.Start("Attempting to fetch command from %s...", repo) if !strings.HasPrefix(repo, "https://github.com/akamai/cli-") && !strings.HasPrefix(repo, "git@github.com:akamai/cli-") { - term.Printf(color.CyanString(thirdPartyDisclaimer)) + term.Printf(color.CyanString("%s", thirdPartyDisclaimer)) } err = gitRepo.Clone(ctx, packageDir, repo, false, spin) @@ -196,7 +196,7 @@ func installPackage(ctx context.Context, gitRepo git.Repository, langManager pac } logger.Error(cases.Title(language.Und, cases.NoLower).String(err.Error())) - return nil, cli.Exit(color.RedString(tools.CapitalizeFirstWord(err.Error())), 1) + return nil, cli.Exit(color.RedString("%s", tools.CapitalizeFirstWord(err.Error())), 1) } spin.OK() @@ -242,7 +242,7 @@ func installPackageDependencies(ctx context.Context, langManager packages.LangMa if errors.Is(err, packages.ErrUnknownLang) { term.Spinner().WarnOK() warnMsg := "Package installed successfully, however package type is unknown, and may or may not function correctly." - if _, err := term.Writeln(color.CyanString(warnMsg)); err != nil { + if _, err := term.Writeln(color.CyanString("%s", warnMsg)); err != nil { term.WriteError(err.Error()) return false, nil } @@ -280,7 +280,7 @@ func installPackageBinaries(ctx context.Context, dir string, cmdPackage subcomma if err != nil { warnMsg := fmt.Sprintf("Unable to download binary: %v", err.Error()) spin.Stop(terminal.SpinnerStatusWarn) - if _, err := term.Writeln(color.YellowString(warnMsg)); err != nil { + if _, err := term.Writeln(color.YellowString("%s", warnMsg)); err != nil { term.WriteError(err.Error()) return false, nil } @@ -295,7 +295,7 @@ func installPackageBinaries(ctx context.Context, dir string, cmdPackage subcomma spin.Stop(terminal.SpinnerStatusWarn) warnMsg := "Unable to save configuration file " + err.Error() logger.Warn(warnMsg) - if _, err := term.Writeln(color.YellowString(warnMsg)); err != nil { + if _, err := term.Writeln(color.YellowString("%s", warnMsg)); err != nil { term.WriteError(err.Error()) return false, nil } diff --git a/pkg/commands/command_list.go b/pkg/commands/command_list.go index edcf174..a103415 100644 --- a/pkg/commands/command_list.go +++ b/pkg/commands/command_list.go @@ -67,7 +67,7 @@ func cmdListWithPackageReader(c *cli.Context, pr packageReader) (e error) { return nil } headerMsg := "\nAvailable Commands:\n\n" - if _, err := term.Writeln(color.YellowString(headerMsg)); err != nil { + if _, err := term.Writeln(color.YellowString("%s", headerMsg)); err != nil { return err } logger.Debug(headerMsg) @@ -79,7 +79,7 @@ func cmdListWithPackageReader(c *cli.Context, pr packageReader) (e error) { } commandName := color.BoldString(" %s", command.Name) term.Printf(commandName) - packageName := fmt.Sprintf(" [package: %s]", color.BlueString(remotePackage.Name)) + packageName := fmt.Sprintf(" [package: %s]", color.BlueString("%s", remotePackage.Name)) if _, err := term.Writeln(packageName); err != nil { return err } @@ -130,7 +130,7 @@ func listInstalledCommands(c *cli.Context, added map[string]bool, removed map[st term.Printf(" (%s: ", aliases) for i, alias := range command.Aliases { - term.Printf(color.BoldString(alias)) + term.Printf(color.BoldString("%s", alias)) if i < len(command.Aliases)-1 { term.Printf(", ") } diff --git a/pkg/commands/command_search.go b/pkg/commands/command_search.go index c246db3..41eb6fa 100644 --- a/pkg/commands/command_search.go +++ b/pkg/commands/command_search.go @@ -64,13 +64,13 @@ func cmdSearchWithPackageReader(c *cli.Context, pr packageReader) (e error) { packages, err := pr.readPackage() if err != nil { logger.Error(fmt.Sprintf("Failed to read package: %v", err)) - return cli.Exit(color.RedString(err.Error()), 1) + return cli.Exit(color.RedString("%s", err.Error()), 1) } err = searchPackages(c.Context, c.Args().Slice(), packages) if err != nil { logger.Error(fmt.Sprintf("Failed to search packages: %v", err)) - return cli.Exit(color.RedString(err.Error()), 1) + return cli.Exit(color.RedString("%s", err.Error()), 1) } return nil @@ -156,7 +156,7 @@ func printResult(resultHits []int, resultPkgs []string, results map[int]map[stri for _, pkgName := range resultPkgs { if _, ok := results[hits][pkgName]; ok { pkg := results[hits][pkgName] - term.Printf(color.GreenString("Package: ")+"%s [%s]\n", pkg.Title, color.BlueString(pkg.Name)) + term.Printf(color.GreenString("Package: ")+"%s [%s]\n", pkg.Title, color.BlueString("%s", pkg.Name)) for _, cmd := range pkg.Commands { var aliases string if len(cmd.Aliases) == 1 { @@ -170,12 +170,12 @@ func printResult(resultHits []int, resultPkgs []string, results map[int]map[stri var err error availableVersion, err = getLatestVersion(url) if err != nil { - return cli.Exit(color.RedString(err.Error()), 1) + return cli.Exit(color.RedString("%s", err.Error()), 1) } term.Printf(color.BoldString(" Available Version:")+" %s\n", availableVersion) installedVersion, err = getVersionFromSystem(pkg.Name) if err != nil { - return cli.Exit(color.RedString(err.Error()), 1) + return cli.Exit(color.RedString("%s", err.Error()), 1) } if installedVersion != "" { term.Printf(color.BoldString(" Installed Version:")+" %s\n", installedVersion) diff --git a/pkg/commands/command_subcommand.go b/pkg/commands/command_subcommand.go index 93e797f..dde84c6 100644 --- a/pkg/commands/command_subcommand.go +++ b/pkg/commands/command_subcommand.go @@ -103,7 +103,7 @@ func cmdSubcommand(git git.Repository, langManager packages.LangManager) cli.Act } if !answer { logger.Error(packages.ErrPackageNeedsReinstall.Error()) - return cli.Exit(color.RedString(packages.ErrPackageNeedsReinstall.Error()), -1) + return cli.Exit(color.RedString("%s", packages.ErrPackageNeedsReinstall.Error()), -1) } if err = uninstallPackage(c.Context, langManager, commandName, logger); err != nil { diff --git a/pkg/commands/command_uninstall.go b/pkg/commands/command_uninstall.go index c2a45f8..c1661a4 100644 --- a/pkg/commands/command_uninstall.go +++ b/pkg/commands/command_uninstall.go @@ -49,7 +49,7 @@ func cmdUninstall(langManager packages.LangManager) cli.ActionFunc { for _, cmd := range c.Args().Slice() { if err := uninstallPackage(c.Context, langManager, cmd, logger); err != nil { logger.Error(fmt.Sprintf("Error uninstalling package: %v", err)) - return cli.Exit(color.RedString(err.Error()), 1) + return cli.Exit(color.RedString("%s", err.Error()), 1) } } diff --git a/pkg/commands/command_update.go b/pkg/commands/command_update.go index 9f6ebd3..11ad609 100644 --- a/pkg/commands/command_update.go +++ b/pkg/commands/command_update.go @@ -102,7 +102,7 @@ func updatePackage(ctx context.Context, gitRepo git.Repository, langManager pack if repoDir == "" { term.Spinner().Fail() logger.Error("Unable to find package directory") - return cli.Exit(color.RedString("unable to update, was it installed using "+color.CyanString("\"akamai install\"")+"?"), 1) + return cli.Exit(color.RedString("unable to update, was it installed using %s", color.CyanString("\"akamai install\"")+"?"), 1) } logger.Debug(fmt.Sprintf("Repo found: %s", repoDir)) @@ -142,7 +142,7 @@ func updatePackage(ctx context.Context, gitRepo git.Repository, langManager pack term.Spinner().WarnOK() debugMessage := fmt.Sprintf("command \"%s\" already up-to-date", cmd) logger.Warn(debugMessage) - if _, err := term.Writeln(color.CyanString(debugMessage)); err != nil { + if _, err := term.Writeln(color.CyanString("%s", debugMessage)); err != nil { term.WriteError(err.Error()) return err } @@ -231,7 +231,7 @@ func updateRepo(ctx context.Context, gitRepo git.Repository, logger *slog.Logger if err != nil && !errors.Is(err, gogit.NoErrAlreadyUpToDate) { term.Spinner().Fail() logger.Error(fmt.Sprintf("Fetch error: %v", err)) - return cli.Exit(color.RedString(tools.CapitalizeFirstWord(err.Error())), 1) + return cli.Exit(color.RedString("%s", tools.CapitalizeFirstWord(err.Error())), 1) } ref, err := gitRepo.Head() @@ -255,7 +255,7 @@ func updateRepo(ctx context.Context, gitRepo git.Repository, logger *slog.Logger logger.Debug(fmt.Sprintf("HEAD is the same as the remote: %s (old) vs %s (new)", refBeforePull.Hash().String(), ref.Hash().String())) debugMessage := fmt.Sprintf("command \"%s\" already up-to-date", cmd) logger.Warn(debugMessage) - if _, err := term.Writeln(color.CyanString(debugMessage)); err != nil { + if _, err := term.Writeln(color.CyanString("%s", debugMessage)); err != nil { return err } } diff --git a/pkg/commands/command_upgrade_test.go b/pkg/commands/command_upgrade_test.go index ccba14b..09f83fc 100644 --- a/pkg/commands/command_upgrade_test.go +++ b/pkg/commands/command_upgrade_test.go @@ -1,6 +1,7 @@ package commands import ( + "context" "fmt" "net/http" "net/http/httptest" @@ -17,7 +18,6 @@ import ( "github.com/stretchr/testify/mock" "github.com/stretchr/testify/require" "github.com/urfave/cli/v2" - "golang.org/x/net/context" ) func mockIsTTY(term *terminal.Mock, isTTY bool) { diff --git a/pkg/commands/upgrade.go b/pkg/commands/upgrade.go index 9081f3a..b6efb87 100644 --- a/pkg/commands/upgrade.go +++ b/pkg/commands/upgrade.go @@ -96,8 +96,8 @@ func checkUpgradeVersion(ctx context.Context, force bool, provider versionProvid _, _ = term.Writeln("You can find more details about the new version here: https://github.com/akamai/cli/releases") if answer, err := term.Confirm(fmt.Sprintf( "New update found: %s. You are running: %s. Upgrade now?", - color.BlueString(latestVersion), - color.BlueString(currentVersion), + color.BlueString("%s", latestVersion), + color.BlueString("%s", currentVersion), ), true); err != nil || !answer { logger.Error(fmt.Sprintf("Upgrade declined: %v", err)) return "" diff --git a/pkg/terminal/terminal.go b/pkg/terminal/terminal.go index 09c9bdc..490055c 100644 --- a/pkg/terminal/terminal.go +++ b/pkg/terminal/terminal.go @@ -270,11 +270,11 @@ func ShowBanner(ctx context.Context) { if _, err := term.Writeln(); err != nil { term.WriteError(err.Error()) } - term.Printf(color.ReverseVideoString(strings.Repeat(" ", 60) + "\n")) + term.Printf(color.ReverseVideoString("%s", strings.Repeat(" ", 60)+"\n")) title := "Welcome to Akamai CLI v" + version.Version ws := strings.Repeat(" ", 16) - term.Printf(color.ReverseVideoString(ws + title + ws + "\n")) - term.Printf(color.ReverseVideoString(strings.Repeat(" ", 60) + "\n")) + term.Printf(color.ReverseVideoString("%s", ws+title+ws+"\n")) + term.Printf(color.ReverseVideoString("%s", strings.Repeat(" ", 60)+"\n")) if _, err := term.Writeln(); err != nil { term.WriteError(err.Error()) } From a7f80a008dd54ef758f4f0c370ff8a0f60aff514 Mon Sep 17 00:00:00 2001 From: Michal Wojcik Date: Thu, 20 Nov 2025 11:30:38 +0100 Subject: [PATCH 2/7] DXE-5802 Migrate code to go 1.24 version --- pkg/commands/package_list/package-list.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/commands/package_list/package-list.json b/pkg/commands/package_list/package-list.json index 51ca71b..a5d8087 100644 --- a/pkg/commands/package_list/package-list.json +++ b/pkg/commands/package_list/package-list.json @@ -227,7 +227,7 @@ "url": "https://github.com/akamai/cli-terraform", "issues": "https://github.com/akamai/cli-terraform/issues", "commands": [{"name":"terraform","description":"Administer and Manage Akamai Terraform configurations","bin":"https://github.com/akamai/cli-terraform/releases/download/{{.Version}}/akamai-{{.Name}}-{{.Version}}-{{.OS}}{{.Arch}}{{.BinSuffix}}","auto-complete":true,"ldflags": "-X 'github.com/akamai/cli-terraform/cli.Version=%s'"}], - "requirements": {"go":"1.23.6"} + "requirements": {"go":"1.24.10"} }, { "title": "Test Center", From 569fdde222edd3503c84ac64ec10e00233e76454 Mon Sep 17 00:00:00 2001 From: Tatiana Slonimskaia Date: Thu, 27 Nov 2025 08:23:06 +0000 Subject: [PATCH 3/7] DXE-5888 Update golangci-lint --- .golangci.yaml | 82 +++++++++++++--------------- Makefile | 2 +- cli/app/access_nix.go | 1 - cli/app/firstrun.go | 1 - cli/app/firstrun_noinstall.go | 1 - pkg/commands/command_subcommand.go | 7 ++- pkg/commands/command_upgrade.go | 1 - pkg/commands/command_upgrade_noop.go | 1 - pkg/commands/upgrade.go | 3 +- pkg/config/config.go | 2 +- pkg/log/log.go | 2 +- pkg/log/log_test.go | 2 +- pkg/terminal/terminal.go | 2 +- 13 files changed, 47 insertions(+), 60 deletions(-) diff --git a/.golangci.yaml b/.golangci.yaml index d011bab..ac001db 100644 --- a/.golangci.yaml +++ b/.golangci.yaml @@ -1,58 +1,50 @@ +version: "2" linters: - disable-all: true + default: none enable: - errcheck - gocyclo - - gofmt - - goimports - - gosimple - govet - ineffassign - misspell - revive - staticcheck - unused - -output: - sort-results: true - + settings: + revive: + severity: warning + rules: + - name: blank-imports + - name: context-as-argument + - name: context-keys-type + - name: dot-imports + - name: empty-block + - name: errorf + - name: error-return + - name: error-strings + - name: error-naming + - name: exported + - name: if-return + - name: increment-decrement + - name: var-naming + - name: var-declaration + - name: range + - name: receiver-naming + - name: redefines-builtin-id + - name: superfluous-else + - name: time-naming + - name: unexported-return + - name: indent-error-flow + - name: errorf + - name: empty-block + - name: superfluous-else + - name: unused-parameter + - name: unreachable-code + - name: redefines-builtin-id issues: - exclude-use-default: false max-issues-per-linter: 0 max-same-issues: 0 - -linters-settings: - revive: - ignore-generated-header: true - severity: warning - rules: - - name: blank-imports - - name: context-as-argument - - name: context-keys-type - - name: dot-imports - - name: empty-block - - name: errorf - - name: error-return - - name: error-strings - - name: error-naming - - name: exported - - name: if-return - - name: increment-decrement - - name: var-naming - - name: var-declaration - - name: range - - name: receiver-naming - - name: redefines-builtin-id - - name: superfluous-else - - name: time-naming - - name: unexported-return - - name: indent-error-flow - - name: errorf - - name: empty-block - - name: superfluous-else - - name: unused-parameter - - name: unreachable-code - - name: redefines-builtin-id - govet: - disable: - - printf \ No newline at end of file +formatters: + enable: + - gofmt + - goimports diff --git a/Makefile b/Makefile index f725f38..d8e2b10 100644 --- a/Makefile +++ b/Makefile @@ -2,7 +2,7 @@ GOIMPORTS_VERSION = v0.24.0 GO_JUNIT_REPORT_VERSION = v2.1.0 GOCOV_VERSION = v1.1.0 GOCOVXML_VERSION = v1.1.0 -GOLANGCI_LINT_VERSION = v1.64.8 +GOLANGCI_LINT_VERSION = v2.6.1 BIN = $(CURDIR)/bin GOCMD = go diff --git a/cli/app/access_nix.go b/cli/app/access_nix.go index 8159470..fe57317 100644 --- a/cli/app/access_nix.go +++ b/cli/app/access_nix.go @@ -1,5 +1,4 @@ //go:build !windows -// +build !windows // Copyright 2018. Akamai Technologies, Inc // diff --git a/cli/app/firstrun.go b/cli/app/firstrun.go index f813e9b..acf3e16 100644 --- a/cli/app/firstrun.go +++ b/cli/app/firstrun.go @@ -1,5 +1,4 @@ //go:build !nofirstrun -// +build !nofirstrun // Copyright 2018. Akamai Technologies, Inc // diff --git a/cli/app/firstrun_noinstall.go b/cli/app/firstrun_noinstall.go index 89916d8..4d96642 100644 --- a/cli/app/firstrun_noinstall.go +++ b/cli/app/firstrun_noinstall.go @@ -1,5 +1,4 @@ //go:build nofirstrun -// +build nofirstrun // Copyright 2018. Akamai Technologies, Inc // diff --git a/pkg/commands/command_subcommand.go b/pkg/commands/command_subcommand.go index dde84c6..0d5edc7 100644 --- a/pkg/commands/command_subcommand.go +++ b/pkg/commands/command_subcommand.go @@ -86,11 +86,12 @@ func cmdSubcommand(git git.Repository, langManager packages.LangManager) cli.Act } } - if runtime.GOOS == "linux" { + switch runtime.GOOS { + case "linux": _, err = os.Stat(filepath.Join(packageDir, ".local")) - } else if runtime.GOOS == "darwin" { + case "darwin": _, err = os.Stat(filepath.Join(packageDir, "Library")) - } else if runtime.GOOS == "windows" { + case "windows": _, err = os.Stat(filepath.Join(packageDir, "Lib")) } diff --git a/pkg/commands/command_upgrade.go b/pkg/commands/command_upgrade.go index 72b711b..ffc50f5 100644 --- a/pkg/commands/command_upgrade.go +++ b/pkg/commands/command_upgrade.go @@ -1,5 +1,4 @@ //go:build !noautoupgrade -// +build !noautoupgrade // Copyright 2018. Akamai Technologies, Inc // diff --git a/pkg/commands/command_upgrade_noop.go b/pkg/commands/command_upgrade_noop.go index 9a5b0db..83bdd1d 100644 --- a/pkg/commands/command_upgrade_noop.go +++ b/pkg/commands/command_upgrade_noop.go @@ -1,5 +1,4 @@ //go:build noautoupgrade -// +build noautoupgrade // Copyright 2018. Akamai Technologies, Inc // diff --git a/pkg/commands/upgrade.go b/pkg/commands/upgrade.go index b6efb87..24c1edb 100644 --- a/pkg/commands/upgrade.go +++ b/pkg/commands/upgrade.go @@ -1,5 +1,4 @@ //go:build !noautoupgrade -// +build !noautoupgrade // Copyright 2018. Akamai Technologies, Inc // @@ -61,7 +60,7 @@ func checkUpgradeVersion(ctx context.Context, force bool, provider versionProvid return "" } - checkForUpgrade := false + var checkForUpgrade bool if data == "never" || force { checkForUpgrade = true } diff --git a/pkg/config/config.go b/pkg/config/config.go index 361f977..f7a5696 100644 --- a/pkg/config/config.go +++ b/pkg/config/config.go @@ -144,7 +144,7 @@ func (c *IniConfig) ExportEnv(ctx context.Context) error { for _, section := range c.file.Sections() { for _, key := range section.Keys() { envVar := "AKAMAI_" + strings.ToUpper(section.Name()) + "_" - envVar += strings.ToUpper(strings.Replace(key.Name(), "-", "_", -1)) + envVar += strings.ToUpper(strings.ReplaceAll(key.Name(), "-", "_")) if err := os.Setenv(envVar, key.String()); err != nil { return err } diff --git a/pkg/log/log.go b/pkg/log/log.go index 2f9240b..0ad9435 100644 --- a/pkg/log/log.go +++ b/pkg/log/log.go @@ -80,7 +80,7 @@ func parseLevel(lvl string) (slog.Level, error) { case "debug": return slog.LevelDebug, nil default: - return slog.LevelError, errors.New("Unknown AKAMAI_LOG value. Allowed values: fatal, error, warn, warning, info, debug") + return slog.LevelError, errors.New("unknown AKAMAI_LOG value. Allowed values: fatal, error, warn, warning, info, debug") } } diff --git a/pkg/log/log_test.go b/pkg/log/log_test.go index 7eb6cd1..e3deff6 100644 --- a/pkg/log/log_test.go +++ b/pkg/log/log_test.go @@ -39,7 +39,7 @@ func TestSetupContext(t *testing.T) { "invalid log level passed, output to terminal": { envs: map[string]string{"AKAMAI_LOG": "abc"}, expectedLevel: slog.LevelError, - withError: regexp.MustCompile(`ERROR.*Unknown AKAMAI_LOG value. Allowed values: fatal, error, warn, warning, info, debug`), + withError: regexp.MustCompile(`ERROR.*unknown AKAMAI_LOG value. Allowed values: fatal, error, warn, warning, info, debug`), }, } diff --git a/pkg/terminal/terminal.go b/pkg/terminal/terminal.go index 490055c..25a32ae 100644 --- a/pkg/terminal/terminal.go +++ b/pkg/terminal/terminal.go @@ -124,7 +124,7 @@ func New(out Writer, in Reader, err io.Writer) *DefaultTerminal { // Printf writes a formatted message to the output stream func (t *DefaultTerminal) Printf(f string, args ...interface{}) { - if _, err := t.Write([]byte(fmt.Sprintf(f, args...))); err != nil { + if _, err := fmt.Fprintf(t, f, args...); err != nil { t.WriteError(err) } } From 52541c0a00f7b2ff3e912a370e8aaac5292c3066 Mon Sep 17 00:00:00 2001 From: Dawid Dzhafarov Date: Fri, 28 Nov 2025 10:41:16 +0100 Subject: [PATCH 4/7] DXE-5867 Update Changelog and Readme --- CHANGELOG.md | 43 +++++++++++++++++++++++++------------------ README.md | 2 +- 2 files changed, 26 insertions(+), 19 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0ae939d..e48813d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,8 +3,15 @@ ## X.Y.Z (YYYY-MM-DD) * General - * Migrated to Go `1.24`. - * Updated various dependencies. + * Migrated to Go `1.24`. + * Updated various dependencies. + + + + +* General + * Added support for building the CLI for the `linux/arm64` architecture, [PR#208](https://github.com/akamai/cli/pull/208), solving [I#195](https://github.com/akamai/cli/issues/195). + ## 2.0.2 (Aug 21, 2025) @@ -37,19 +44,19 @@ ### Fixes -* Fixed a problem with invisible output in the light background by converting all colors to a monochromatic representation ([GH#196](https://github.com/akamai/cli/issues/196)). +* Fixed a problem with invisible output in the light background by converting all colors to a monochromatic representation ([I#196](https://github.com/akamai/cli/issues/196)). * Improved code by resolving issues reported by linter. ## 1.6.1 (Jan 2, 2025) -* Fixed security vulnerability ([GH#198](https://github.com/akamai/cli/pull/198)). +* Fixed security vulnerability ([PR#198](https://github.com/akamai/cli/pull/198)). ## 1.6.0 (Sep 5, 2024) ### Enhancements * Added support to show the `Installed Version` of commands during `search`. -* Updated the list of packages in `packages-list.json` ([GH#192](https://github.com/akamai/cli/issues/192)). +* Updated the list of packages in `packages-list.json` ([I#192](https://github.com/akamai/cli/issues/192)). * Removed versions of the packages from `package-list.json`. * Changed package installation order. * CLI will first check if new binaries are available. If the package has no binaries or no valid @@ -93,8 +100,8 @@ ### Fixes -* Fixed the `akamai search` command error ([GH#166](https://github.com/akamai/cli/issues/166)). -* Fixed the autocompletion for commands ([GH#165](https://github.com/akamai/cli/issues/165)). +* Fixed the `akamai search` command error ([I#166](https://github.com/akamai/cli/issues/166)). +* Fixed the autocompletion for commands ([I#165](https://github.com/akamai/cli/issues/165)). ## 1.5.2 (Jul 28, 2022) @@ -106,7 +113,7 @@ * Fixed the `akamai update` command failures when the directory `~/.akamai-cli/src/cli-xyz` is in a git detached state. * Show the correct version for CLI modules which version is set via ldflags. -* Fixed execution of Python submodules on Windows ([GH#159](https://github.com/akamai/cli/issues/159)). +* Fixed execution of Python submodules on Windows ([I#159](https://github.com/akamai/cli/issues/159)). * Fine print update warnings for homebrew installations. * Fixed failing unit tests on Windows. @@ -120,14 +127,14 @@ ### Enhancements -* Added support for a new Apple M1(Darwin ARM64) build ([GH#127](https://github.com/akamai/cli/issues/127)). NOTE: Not all CLI packages currently support Apple M1. +* Added support for a new Apple M1(Darwin ARM64) build ([I#127](https://github.com/akamai/cli/issues/127)). NOTE: Not all CLI packages currently support Apple M1. ## 1.4.2 (May 11, 2022) ### Fixes -* Handled recent Python versions ([GH#148](https://github.com/akamai/cli/issues/148)). -* Handled the `yes` command input ([GH#136](https://github.com/akamai/cli/issues/136)). +* Handled recent Python versions ([I#148](https://github.com/akamai/cli/issues/148)). +* Handled the `yes` command input ([I#136](https://github.com/akamai/cli/issues/136)). * Purged directories on unit test error. ## 1.4.1 (Mar 24, 2022) @@ -154,15 +161,15 @@ ### Fixes -* Removed an old binary in a PowerShell terminal ([#125](https://github.com/akamai/cli/issues/125)). +* Removed an old binary in a PowerShell terminal ([I#125](https://github.com/akamai/cli/issues/125)). * Documented CLI exit codes. -* Reviewed the exit code when trying to install an already installed command ([#83](https://github.com/akamai/cli/issues/83)). +* Reviewed the exit code when trying to install an already installed command ([I#83](https://github.com/akamai/cli/issues/83)). ### Enhancements * Updated a list of installable CLI commands. -* Documented the `--version` flag ([#94](https://github.com/akamai/cli/issues/94)). -* Added an alias with a package prefix to all installed commands to work around possible command name collisions ([#60](https://github.com/akamai/cli/issues/60)). -* Made the `.edgerc` file location configurable ([#81](https://github.com/akamai/cli/issues/81)). +* Documented the `--version` flag ([I#94](https://github.com/akamai/cli/issues/94)). +* Added an alias with a package prefix to all installed commands to work around possible command name collisions ([I#60](https://github.com/akamai/cli/issues/60)). +* Made the `.edgerc` file location configurable ([I#81](https://github.com/akamai/cli/issues/81)). ## 1.2.1 (Apr 28, 2021) @@ -179,8 +186,8 @@ ### Fixes * Synced logs with terminal output in most commands. -* Fixed module update issue ([#113](https://github.com/akamai/cli/issues/113)). -* Fixed panic when attempting to write on an empty writer ([#116](https://github.com/akamai/cli/issues/116)). +* Fixed module update issue ([I#113](https://github.com/akamai/cli/issues/113)). +* Fixed panic when attempting to write on an empty writer ([I#116](https://github.com/akamai/cli/issues/116)). ### Enhancements * Added code improvements: unit test coverage improvement and project structure refactoring. diff --git a/README.md b/README.md index 73aea1a..d21ca83 100644 --- a/README.md +++ b/README.md @@ -336,7 +336,7 @@ The package you install needs a `cli.json` file. This is where you specify the c - `{{.Version}}`: The command version. - `{{.Name}}`: The command name. - `{{.OS}}`: The current operating system, either `windows`, `mac`, or `linux`. - - `{{.Arch}}`: The current OS architecture, either `386` or `amd64`. + - `{{.Arch}}`: The current OS architecture, either `386`, `amd64` or `arm64`. - `{{.BinSuffix}}`: The binary suffix for the current OS: `.exe` for `windows`. ### Example From b93a76ad6698d407ff688b3eacd14be7419ec878 Mon Sep 17 00:00:00 2001 From: Jakub Bilski Date: Thu, 4 Dec 2025 08:47:37 +0000 Subject: [PATCH 5/7] DXE-5395 cli prints unexpected text "Running command..." --- pkg/commands/command_subcommand.go | 3 --- 1 file changed, 3 deletions(-) diff --git a/pkg/commands/command_subcommand.go b/pkg/commands/command_subcommand.go index 0d5edc7..10d81de 100644 --- a/pkg/commands/command_subcommand.go +++ b/pkg/commands/command_subcommand.go @@ -37,16 +37,13 @@ func cmdSubcommand(git git.Repository, langManager packages.LangManager) cli.Act defer func() { if e != nil { - term.Spinner().Fail() logger.Error(fmt.Sprintf("Command execution failed: %v", e)) } else { - term.Spinner().OK() logger.Info("Command execution completed") } }() logger.Info(fmt.Sprintf("Executing subcommand: %s", c.Command.Name)) - term.Spinner().Start(fmt.Sprintf("Running %s command...", c.Command.Name)) commandName := strings.ToLower(c.Command.Name) From b6c0cde467f9ed3f371f5fe9165d3d1a36177011 Mon Sep 17 00:00:00 2001 From: Dawid Dzhafarov Date: Thu, 4 Dec 2025 12:16:03 +0000 Subject: [PATCH 6/7] DXE-6003 Update dependencies, changelog and version for v2.0.3 release --- CHANGELOG.md | 17 +++----- README.md | 2 +- go.mod | 45 ++++++++++---------- go.sum | 97 ++++++++++++++++++++++-------------------- pkg/version/version.go | 2 +- 5 files changed, 81 insertions(+), 82 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e48813d..c4d1476 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,18 +1,13 @@ # RELEASE NOTES -## X.Y.Z (YYYY-MM-DD) - -* General - * Migrated to Go `1.24`. - * Updated various dependencies. - - - - -* General - * Added support for building the CLI for the `linux/arm64` architecture, [PR#208](https://github.com/akamai/cli/pull/208), solving [I#195](https://github.com/akamai/cli/issues/195). +## 2.0.3 (Dec 10, 2025) +### Enhancements +* Migrated to Go `1.24.11`. +* Updated various dependencies. +* Updated vulnerable dependencies. +* Added support for building the CLI for the `linux/arm64` architecture ([PR#208](https://github.com/akamai/cli/pull/208), solving [I#195](https://github.com/akamai/cli/issues/195)). ## 2.0.2 (Aug 21, 2025) diff --git a/README.md b/README.md index d21ca83..bf4415c 100644 --- a/README.md +++ b/README.md @@ -101,7 +101,7 @@ This command installs the CLI and persists the configuration and packages in `$H ### Compile from Source -**Prerequisite:** Make sure you install go 1.24.10 or later. +**Prerequisite:** Make sure you install go 1.24.11 or later. To compile Akamai CLI from source: diff --git a/go.mod b/go.mod index 684f503..bebb9f5 100644 --- a/go.mod +++ b/go.mod @@ -1,51 +1,52 @@ module github.com/akamai/cli/v2 -go 1.24.10 +go 1.24.11 require ( github.com/AlecAivazis/survey/v2 v2.3.7 github.com/Masterminds/semver v1.5.0 - github.com/briandowns/spinner v1.23.1 + github.com/briandowns/spinner v1.23.2 github.com/fatih/color v1.18.0 - github.com/go-git/go-git/v5 v5.13.1 + github.com/go-git/go-git/v5 v5.16.4 github.com/go-ini/ini v1.67.0 github.com/inconshreveable/go-update v0.0.0-20160112193335-8152e7eb6ccf github.com/kardianos/osext v0.0.0-20190222173326-2bc1f35cddc0 - github.com/mattn/go-colorable v0.1.13 + github.com/mattn/go-colorable v0.1.14 github.com/mattn/go-isatty v0.0.20 github.com/mitchellh/go-homedir v1.1.0 - github.com/stretchr/testify v1.10.0 + github.com/stretchr/testify v1.11.1 github.com/urfave/cli/v2 v2.19.3 golang.org/x/sys v0.38.0 golang.org/x/text v0.31.0 ) require ( - dario.cat/mergo v1.0.0 // indirect + dario.cat/mergo v1.0.2 // indirect github.com/Microsoft/go-winio v0.6.2 // indirect - github.com/ProtonMail/go-crypto v1.1.3 // indirect + github.com/ProtonMail/go-crypto v1.3.0 // indirect github.com/cloudflare/circl v1.6.1 // indirect - github.com/cpuguy83/go-md2man/v2 v2.0.5 // indirect - github.com/cyphar/filepath-securejoin v0.3.6 // indirect - github.com/davecgh/go-spew v1.1.1 // indirect + github.com/cpuguy83/go-md2man/v2 v2.0.7 // indirect + github.com/cyphar/filepath-securejoin v0.6.1 // indirect + github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/emirpasic/gods v1.18.1 // indirect github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect - github.com/go-git/go-billy/v5 v5.6.1 // indirect - github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect + github.com/go-git/go-billy/v5 v5.6.2 // indirect + github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 // indirect github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 // indirect - github.com/kevinburke/ssh_config v1.2.0 // indirect - github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b // indirect - github.com/pjbgf/sha1cd v0.3.0 // indirect - github.com/pmezard/go-difflib v1.0.0 // indirect + github.com/kevinburke/ssh_config v1.4.0 // indirect + github.com/klauspost/cpuid/v2 v2.3.0 // indirect + github.com/mgutz/ansi v0.0.0-20200706080929-d51e80ef957d // indirect + github.com/pjbgf/sha1cd v0.5.0 // indirect + github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/russross/blackfriday/v2 v2.1.0 // indirect - github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 // indirect - github.com/skeema/knownhosts v1.3.0 // indirect - github.com/stretchr/objx v0.5.2 // indirect + github.com/sergi/go-diff v1.4.0 // indirect + github.com/skeema/knownhosts v1.3.2 // indirect + github.com/stretchr/objx v0.5.3 // indirect github.com/xanzy/ssh-agent v0.3.3 // indirect - github.com/xrash/smetrics v0.0.0-20240521201337-686a1a2994c1 // indirect - golang.org/x/crypto v0.44.0 // indirect - golang.org/x/net v0.46.0 // indirect + github.com/xrash/smetrics v0.0.0-20250705151800-55b8f293f342 // indirect + golang.org/x/crypto v0.45.0 // indirect + golang.org/x/net v0.47.0 // indirect golang.org/x/term v0.37.0 // indirect gopkg.in/warnings.v0 v0.1.2 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/go.sum b/go.sum index 2b79ddd..549735e 100644 --- a/go.sum +++ b/go.sum @@ -1,5 +1,5 @@ -dario.cat/mergo v1.0.0 h1:AGCNq9Evsj31mOgNPcLyXc+4PNABt905YmuqPYYpBWk= -dario.cat/mergo v1.0.0/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk= +dario.cat/mergo v1.0.2 h1:85+piFYR1tMbRrLcDwR18y4UKJ3aH1Tbzi24VRW1TK8= +dario.cat/mergo v1.0.2/go.mod h1:E/hbnu0NxMFBjpMIE34DRGLWqDy0g5FuKDhCb31ngxA= github.com/AlecAivazis/survey/v2 v2.3.7 h1:6I/u8FvytdGsgonrYsVn2t8t4QiRnh6QSTqkkhIiSjQ= github.com/AlecAivazis/survey/v2 v2.3.7/go.mod h1:xUTIdE4KCOIjsBAE1JYsUPoCqYdZ1reCfTwbto0Fduo= github.com/Masterminds/semver v1.5.0 h1:H65muMkzWKEuNDnfl9d70GUjFniHKHRbFPGBuZ3QEww= @@ -9,27 +9,28 @@ github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERo github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU= github.com/Netflix/go-expect v0.0.0-20220104043353-73e0943537d2 h1:+vx7roKuyA63nhn5WAunQHLTznkw5W8b1Xc0dNjp83s= github.com/Netflix/go-expect v0.0.0-20220104043353-73e0943537d2/go.mod h1:HBCaDeC1lPdgDeDbhX8XFpy1jqjK0IBG8W5K+xYqA0w= -github.com/ProtonMail/go-crypto v1.1.3 h1:nRBOetoydLeUb4nHajyO2bKqMLfWQ/ZPwkXqXxPxCFk= -github.com/ProtonMail/go-crypto v1.1.3/go.mod h1:rA3QumHc/FZ8pAHreoekgiAbzpNsfQAosU5td4SnOrE= +github.com/ProtonMail/go-crypto v1.3.0 h1:ILq8+Sf5If5DCpHQp4PbZdS1J7HDFRXz/+xKBiRGFrw= +github.com/ProtonMail/go-crypto v1.3.0/go.mod h1:9whxjD8Rbs29b4XWbB8irEcE8KHMqaR2e7GWU1R+/PE= github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be h1:9AeTilPcZAjCFIImctFaOjnTIavg87rW78vTPkQqLI8= github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be/go.mod h1:ySMOLuWl6zY27l47sB3qLNK6tF2fkHG55UZxx8oIVo4= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= -github.com/briandowns/spinner v1.23.1 h1:t5fDPmScwUjozhDj4FA46p5acZWIPXYE30qW2Ptu650= -github.com/briandowns/spinner v1.23.1/go.mod h1:LaZeM4wm2Ywy6vO571mvhQNRcWfRUnXOs0RcKV0wYKM= +github.com/briandowns/spinner v1.23.2 h1:Zc6ecUnI+YzLmJniCfDNaMbW0Wid1d5+qcTq4L2FW8w= +github.com/briandowns/spinner v1.23.2/go.mod h1:LaZeM4wm2Ywy6vO571mvhQNRcWfRUnXOs0RcKV0wYKM= github.com/cloudflare/circl v1.6.1 h1:zqIqSPIndyBh1bjLVVDHMPpVKqp8Su/V+6MeDzzQBQ0= github.com/cloudflare/circl v1.6.1/go.mod h1:uddAzsPgqdMAYatqJ0lsjX1oECcQLIlRpzZh3pJrofs= -github.com/cpuguy83/go-md2man/v2 v2.0.5 h1:ZtcqGrnekaHpVLArFSe4HK5DoKx1T0rq2DwVB0alcyc= -github.com/cpuguy83/go-md2man/v2 v2.0.5/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/cpuguy83/go-md2man/v2 v2.0.7 h1:zbFlGlXEAKlwXpmvle3d8Oe3YnkKIK4xSRTd3sHPnBo= +github.com/cpuguy83/go-md2man/v2 v2.0.7/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g= github.com/creack/pty v1.1.17 h1:QeVUsEDNrLBW4tMgZHvxy18sKtr6VI492kBhUfhDJNI= github.com/creack/pty v1.1.17/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= -github.com/cyphar/filepath-securejoin v0.3.6 h1:4d9N5ykBnSp5Xn2JkhocYDkOpURL/18CYMpo6xB9uWM= -github.com/cyphar/filepath-securejoin v0.3.6/go.mod h1:Sdj7gXlvMcPZsbhwhQ33GguGLDGQL7h7bg04C/+u9jI= +github.com/cyphar/filepath-securejoin v0.6.1 h1:5CeZ1jPXEiYt3+Z6zqprSAgSWiggmpVyciv8syjIpVE= +github.com/cyphar/filepath-securejoin v0.6.1/go.mod h1:A8hd4EnAeyujCJRrICiOWqjS1AX0a9kM5XL+NwKoYSc= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/elazarl/goproxy v1.2.3 h1:xwIyKHbaP5yfT6O9KIeYJR5549MXRQkoQMRXGztz8YQ= -github.com/elazarl/goproxy v1.2.3/go.mod h1:YfEbZtqP4AetfO6d40vWchF3znWX7C7Vd6ZMfdL8z64= +github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= +github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/elazarl/goproxy v1.7.2 h1:Y2o6urb7Eule09PjlhQRGNsqRfPmYI3KKQLFpCAV3+o= +github.com/elazarl/goproxy v1.7.2/go.mod h1:82vkLNir0ALaW14Rc399OTTjyNREgmdL2cVoIbS6XaE= github.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc= github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ= github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM= @@ -38,18 +39,18 @@ github.com/gliderlabs/ssh v0.3.8 h1:a4YXD1V7xMF9g5nTkdfnja3Sxy1PVDCj1Zg4Wb8vY6c= github.com/gliderlabs/ssh v0.3.8/go.mod h1:xYoytBv1sV0aL3CavoDuJIQNURXkkfPA/wxQ1pL1fAU= github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 h1:+zs/tPmkDkHx3U66DAb0lQFJrpS6731Oaa12ikc+DiI= github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376/go.mod h1:an3vInlBmSxCcxctByoQdvwPiA7DTK7jaaFDBTtu0ic= -github.com/go-git/go-billy/v5 v5.6.1 h1:u+dcrgaguSSkbjzHwelEjc0Yj300NUevrrPphk/SoRA= -github.com/go-git/go-billy/v5 v5.6.1/go.mod h1:0AsLr1z2+Uksi4NlElmMblP5rPcDZNRCD8ujZCRR2BE= +github.com/go-git/go-billy/v5 v5.6.2 h1:6Q86EsPXMa7c3YZ3aLAQsMA0VlWmy43r6FHqa/UNbRM= +github.com/go-git/go-billy/v5 v5.6.2/go.mod h1:rcFC2rAsp/erv7CMz9GczHcuD0D32fWzH+MJAU+jaUU= github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399 h1:eMje31YglSBqCdIqdhKBW8lokaMrL3uTkpGYlE2OOT4= github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399/go.mod h1:1OCfN199q1Jm3HZlxleg+Dw/mwps2Wbk9frAWm+4FII= -github.com/go-git/go-git/v5 v5.13.1 h1:DAQ9APonnlvSWpvolXWIuV6Q6zXy2wHbN4cVlNR5Q+M= -github.com/go-git/go-git/v5 v5.13.1/go.mod h1:qryJB4cSBoq3FRoBRf5A77joojuBcmPJ0qu3XXXVixc= +github.com/go-git/go-git/v5 v5.16.4 h1:7ajIEZHZJULcyJebDLo99bGgS0jRrOxzZG4uCk2Yb2Y= +github.com/go-git/go-git/v5 v5.16.4/go.mod h1:4Ge4alE/5gPs30F2H1esi2gPd69R0C39lolkucHBOp8= github.com/go-ini/ini v1.67.0 h1:z6ZrTEZqSWOTyH2FlglNbNgARyHG8oLW9gMELqKr06A= github.com/go-ini/ini v1.67.0/go.mod h1:ByCAeIL28uOIIG0E3PJtZPDL8WnHpFKFOtgjp+3Ies8= -github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= -github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= -github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 h1:f+oWsMOmNPc8JmEHVZIycC7hBoQxHH9pNKQORJNozsQ= +github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8/go.mod h1:wcDNUvekVysuuOpQKo3191zZyTpiI6se1N1ULghS0sw= +github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= +github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= github.com/hinshun/vt10x v0.0.0-20220119200601-820417d04eec h1:qv2VnGeEQHchGaZ/u7lxST/RaJw+cv273q79D81Xbog= github.com/hinshun/vt10x v0.0.0-20220119200601-820417d04eec/go.mod h1:Q48J4R4DvxnHolD5P8pOtXigYlRuPLGl6moFx3ulM68= github.com/inconshreveable/go-update v0.0.0-20160112193335-8152e7eb6ccf h1:WfD7VjIE6z8dIvMsI4/s+1qr5EL+zoIGev1BQj1eoJ8= @@ -60,8 +61,10 @@ github.com/kardianos/osext v0.0.0-20190222173326-2bc1f35cddc0 h1:iQTw/8FWTuc7uia github.com/kardianos/osext v0.0.0-20190222173326-2bc1f35cddc0/go.mod h1:1NbS8ALrpOvjt0rHPNLyCIeMtbizbir8U//inJ+zuB8= github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 h1:Z9n2FFNUXsshfwJMBgNA0RU6/i7WVaAegv3PtuIHPMs= github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:CzGEWj7cYgsdH8dAjBGEr58BoE7ScuLd+fwFZ44+/x8= -github.com/kevinburke/ssh_config v1.2.0 h1:x584FjTGwHzMwvHx18PXxbBVzfnxogHaAReU4gf13a4= -github.com/kevinburke/ssh_config v1.2.0/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= +github.com/kevinburke/ssh_config v1.4.0 h1:6xxtP5bZ2E4NF5tuQulISpTO2z8XbtH8cg1PWkxoFkQ= +github.com/kevinburke/ssh_config v1.4.0/go.mod h1:q2RIzfka+BXARoNexmF9gkxEX7DmvbW9P4hIVx2Kg4M= +github.com/klauspost/cpuid/v2 v2.3.0 h1:S4CRMLnYUhGeDFDqkGriYKdfoFlDnMtqTiI/sFzhA9Y= +github.com/klauspost/cpuid/v2 v2.3.0/go.mod h1:hqwkgyIinND0mEev00jJYCxPNVRVXFQeu1XKlok6oO0= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= @@ -70,53 +73,54 @@ github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= -github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= -github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= +github.com/mattn/go-colorable v0.1.14 h1:9A9LHSqF/7dyVVX6g0U9cwm9pG3kP9gSzcuIPHPsaIE= +github.com/mattn/go-colorable v0.1.14/go.mod h1:6LmQG8QLFO4G5z1gPvYEzlUgJ2wF+stgPZH1UqBm1s8= github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= -github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= -github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b h1:j7+1HpAFS1zy5+Q4qx1fWh90gTKwiN4QCGoY9TWyyO4= github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b/go.mod h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE= +github.com/mgutz/ansi v0.0.0-20200706080929-d51e80ef957d h1:5PJl274Y63IEHC+7izoQE9x6ikvDFZS2mDVS3drnohI= +github.com/mgutz/ansi v0.0.0-20200706080929-d51e80ef957d/go.mod h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE= github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/onsi/gomega v1.34.1 h1:EUMJIKUjM8sKjYbtxQI9A4z2o+rruxnzNvpknOXie6k= github.com/onsi/gomega v1.34.1/go.mod h1:kU1QgUvBDLXBJq618Xvm2LUX6rSAfRaFRTcdOeDLwwY= -github.com/pjbgf/sha1cd v0.3.0 h1:4D5XXmUUBUl/xQ6IjCkEAbqXskkq/4O7LmGn0AqMDs4= -github.com/pjbgf/sha1cd v0.3.0/go.mod h1:nZ1rrWOcGJ5uZgEEVL1VUM9iRQiZvWdbZjkKyFzPPsI= +github.com/pjbgf/sha1cd v0.5.0 h1:a+UkboSi1znleCDUNT3M5YxjOnN1fz2FhN48FlwCxs0= +github.com/pjbgf/sha1cd v0.5.0/go.mod h1:lhpGlyHLpQZoxMv8HcgXvZEhcGs0PG/vsZnEJ7H0iCM= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= -github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= +github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= +github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ= +github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc= github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= -github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 h1:n661drycOFuPLCN3Uc8sB6B/s6Z4t2xvBgU1htSHuq8= -github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3/go.mod h1:A0bzQcvG0E7Rwjx0REVgAGH58e96+X0MeOfepqsbeW4= +github.com/sergi/go-diff v1.4.0 h1:n/SP9D5ad1fORl+llWyN+D6qoUETXNZARKjyY2/KVCw= +github.com/sergi/go-diff v1.4.0/go.mod h1:A0bzQcvG0E7Rwjx0REVgAGH58e96+X0MeOfepqsbeW4= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= -github.com/skeema/knownhosts v1.3.0 h1:AM+y0rI04VksttfwjkSTNQorvGqmwATnvnAHpSgc0LY= -github.com/skeema/knownhosts v1.3.0/go.mod h1:sPINvnADmT/qYH1kfv+ePMmOBTH6Tbl7b5LvTDjFK7M= +github.com/skeema/knownhosts v1.3.2 h1:EDL9mgf4NzwMXCTfaxSD/o/a5fxDw/xL9nkU28JjdBg= +github.com/skeema/knownhosts v1.3.2/go.mod h1:bEg3iQAuw+jyiw+484wwFJoKSLwcfd7fqRy+N0QTiow= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY= -github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= +github.com/stretchr/objx v0.5.3 h1:jmXUvGomnU1o3W/V5h2VEradbpJDwGrzugQQvL0POH4= +github.com/stretchr/objx v0.5.3/go.mod h1:rDQraq+vQZU7Fde9LOZLr8Tax6zZvy4kuNKF+QYS+U0= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= -github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= +github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U= +github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U= github.com/urfave/cli/v2 v2.19.3 h1:GsJ5D2qZWF6hk/F276qqf8v/Ff4IzAUTB+CUFSNhN6M= github.com/urfave/cli/v2 v2.19.3/go.mod h1:1CNUng3PtjQMtRzJO4FMXBQvkGtuYRxxiR9xMa7jMwI= github.com/xanzy/ssh-agent v0.3.3 h1:+/15pJfg/RsTxqYcX6fHqOXZwwMP+2VyYWJeWM2qQFM= github.com/xanzy/ssh-agent v0.3.3/go.mod h1:6dzNDKs0J9rVPHPhaGCukekBHKqfl+L3KghI1Bc68Uw= -github.com/xrash/smetrics v0.0.0-20240521201337-686a1a2994c1 h1:gEOO8jv9F4OT7lGCjxCBTO/36wtF6j2nSip77qHd4x4= -github.com/xrash/smetrics v0.0.0-20240521201337-686a1a2994c1/go.mod h1:Ohn+xnUBiLI6FVj/9LpzZWtj1/D6lUovWYBkxHVV3aM= +github.com/xrash/smetrics v0.0.0-20250705151800-55b8f293f342 h1:FnBeRrxr7OU4VvAzt5X7s6266i6cSVkkFPS0TuXWbIg= +github.com/xrash/smetrics v0.0.0-20250705151800-55b8f293f342/go.mod h1:Ohn+xnUBiLI6FVj/9LpzZWtj1/D6lUovWYBkxHVV3aM= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.44.0 h1:A97SsFvM3AIwEEmTBiaxPPTYpDC47w720rdiiUvgoAU= -golang.org/x/crypto v0.44.0/go.mod h1:013i+Nw79BMiQiMsOPcVCB5ZIJbYkerPrGnOa00tvmc= +golang.org/x/crypto v0.45.0 h1:jMBrvKuj23MTlT0bQEOBcAE0mjg8mK9RXFhRH6nyF3Q= +golang.org/x/crypto v0.45.0/go.mod h1:XTGrrkGJve7CYK7J8PEww4aY7gM3qMCElcJQ8n8JdX4= golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56 h1:2dVuKD2vS7b0QIHQbpyTISPd0LeHDbnYEryqj5Q1ug8= golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56/go.mod h1:M4RDyNAINzryxdtnbRXRL/OHtkFuWGRjvuhBJpk2IlY= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= @@ -124,8 +128,8 @@ golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.46.0 h1:giFlY12I07fugqwPuWJi68oOnpfqFnJIJzaIIm2JVV4= -golang.org/x/net v0.46.0/go.mod h1:Q9BGdFy1y4nkUwiLvT5qtyhAnEHgnQ/zd8PfU6nc210= +golang.org/x/net v0.47.0 h1:Mx+4dIFzqraBXUugkia1OOvlD6LemFo1ALMHjrXDOhY= +golang.org/x/net v0.47.0/go.mod h1:/jNxtkgq5yWUGYkaZGqo27cfGZ1c5Nen03aYrrKpVRU= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -138,7 +142,6 @@ golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.38.0 h1:3yZWxaJjBmCWXqhN1qh02AkOnCQ1poK6oF+a7xWL6Gc= golang.org/x/sys v0.38.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= diff --git a/pkg/version/version.go b/pkg/version/version.go index 3e3a4be..619aeda 100644 --- a/pkg/version/version.go +++ b/pkg/version/version.go @@ -4,7 +4,7 @@ import "github.com/Masterminds/semver" const ( // Version Application Version - Version = "2.0.2" + Version = "2.0.3" // Equals p1==p2 in version.Compare(p1, p2) Equals = 0 // Error failure parsing one of the parameters in version.Compare(p1, p2) From 751fccbe11b7cd7ab46f20370e2a6b65b7cf2b89 Mon Sep 17 00:00:00 2001 From: Dawid Dzhafarov Date: Tue, 9 Dec 2025 07:28:21 +0000 Subject: [PATCH 7/7] DXE-6003 Bump crypto to 0.46.0 --- go.mod | 8 ++++---- go.sum | 16 ++++++++-------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/go.mod b/go.mod index bebb9f5..5f2089b 100644 --- a/go.mod +++ b/go.mod @@ -16,8 +16,8 @@ require ( github.com/mitchellh/go-homedir v1.1.0 github.com/stretchr/testify v1.11.1 github.com/urfave/cli/v2 v2.19.3 - golang.org/x/sys v0.38.0 - golang.org/x/text v0.31.0 + golang.org/x/sys v0.39.0 + golang.org/x/text v0.32.0 ) require ( @@ -45,9 +45,9 @@ require ( github.com/stretchr/objx v0.5.3 // indirect github.com/xanzy/ssh-agent v0.3.3 // indirect github.com/xrash/smetrics v0.0.0-20250705151800-55b8f293f342 // indirect - golang.org/x/crypto v0.45.0 // indirect + golang.org/x/crypto v0.46.0 // indirect golang.org/x/net v0.47.0 // indirect - golang.org/x/term v0.37.0 // indirect + golang.org/x/term v0.38.0 // indirect gopkg.in/warnings.v0 v0.1.2 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/go.sum b/go.sum index 549735e..1e616c8 100644 --- a/go.sum +++ b/go.sum @@ -119,8 +119,8 @@ github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5t golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.45.0 h1:jMBrvKuj23MTlT0bQEOBcAE0mjg8mK9RXFhRH6nyF3Q= -golang.org/x/crypto v0.45.0/go.mod h1:XTGrrkGJve7CYK7J8PEww4aY7gM3qMCElcJQ8n8JdX4= +golang.org/x/crypto v0.46.0 h1:cKRW/pmt1pKAfetfu+RCEvjvZkA9RimPbh7bhFjGVBU= +golang.org/x/crypto v0.46.0/go.mod h1:Evb/oLKmMraqjZ2iQTwDwvCtJkczlDuTmdJXoZVzqU0= golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56 h1:2dVuKD2vS7b0QIHQbpyTISPd0LeHDbnYEryqj5Q1ug8= golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56/go.mod h1:M4RDyNAINzryxdtnbRXRL/OHtkFuWGRjvuhBJpk2IlY= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= @@ -143,19 +143,19 @@ golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.38.0 h1:3yZWxaJjBmCWXqhN1qh02AkOnCQ1poK6oF+a7xWL6Gc= -golang.org/x/sys v0.38.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= +golang.org/x/sys v0.39.0 h1:CvCKL8MeisomCi6qNZ+wbb0DN9E5AATixKsvNtMoMFk= +golang.org/x/sys v0.39.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.37.0 h1:8EGAD0qCmHYZg6J17DvsMy9/wJ7/D/4pV/wfnld5lTU= -golang.org/x/term v0.37.0/go.mod h1:5pB4lxRNYYVZuTLmy8oR2BH8dflOR+IbTYFD8fi3254= +golang.org/x/term v0.38.0 h1:PQ5pkm/rLO6HnxFR7N2lJHOZX6Kez5Y1gDSJla6jo7Q= +golang.org/x/term v0.38.0/go.mod h1:bSEAKrOT1W+VSu9TSCMtoGEOUcKxOKgl3LE5QEF/xVg= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.31.0 h1:aC8ghyu4JhP8VojJ2lEHBnochRno1sgL6nEi9WGFGMM= -golang.org/x/text v0.31.0/go.mod h1:tKRAlv61yKIjGGHX/4tP1LTbc13YSec1pxVEWXzfoeM= +golang.org/x/text v0.32.0 h1:ZD01bjUt1FQ9WJ0ClOL5vxgxOI/sVCNgX1YtKwcY0mU= +golang.org/x/text v0.32.0/go.mod h1:o/rUWzghvpD5TXrTIBuJU77MTaN0ljMWE47kxGJQ7jY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=