From 7f3e6382c138df5a88bf345ee920cd7b79bd110a Mon Sep 17 00:00:00 2001 From: mircearoata Date: Mon, 12 Jun 2023 11:47:04 +0200 Subject: [PATCH 1/2] fix: deterministic resolving order --- cli/dependency_resolver.go | 4 ++++ cli/resolving_test.go | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/cli/dependency_resolver.go b/cli/dependency_resolver.go index 7eb521e..5683c21 100644 --- a/cli/dependency_resolver.go +++ b/cli/dependency_resolver.go @@ -141,6 +141,10 @@ func (r *resolvingInstance) Step() error { return errors.Wrap(err, "failed resolving mod dependencies") } + sort.Slice(dependencies.Mods, func(i, j int) bool { + return dependencies.Mods[i].Mod_reference < dependencies.Mods[j].Mod_reference + }) + for _, mod := range dependencies.Mods { modVersions := make([]ModVersion, len(mod.Versions)) for i, version := range mod.Versions { diff --git a/cli/resolving_test.go b/cli/resolving_test.go index 43d18c8..090e979 100644 --- a/cli/resolving_test.go +++ b/cli/resolving_test.go @@ -41,7 +41,7 @@ func TestProfileResolution(t *testing.T) { }, }).Resolve(resolver, nil, math.MaxInt) - testza.AssertEqual(t, "failed resolving profile dependencies: mod RefinedRDLib version 1.0.6 does not match constraint ^1.0.7", err.Error()) + testza.AssertEqual(t, "failed resolving profile dependencies: failed resolving dependencies. requires different versions of RefinedRDLib", err.Error()) _, err = (&Profile{ Name: DefaultProfileName, From 9cb6de336fa33f4b52072ec05da3cec24a78246d Mon Sep 17 00:00:00 2001 From: mircearoata Date: Mon, 12 Jun 2023 12:05:28 +0200 Subject: [PATCH 2/2] ci: pin golangci-lint version --- .github/workflows/push.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/push.yaml b/.github/workflows/push.yaml index b2344e5..d30d6e2 100644 --- a/.github/workflows/push.yaml +++ b/.github/workflows/push.yaml @@ -47,6 +47,7 @@ jobs: - name: golangci-lint uses: golangci/golangci-lint-action@v2 with: + version: v1.51 skip-pkg-cache: true skip-build-cache: true