From 26362a796b4e9273a5836cd5a119ba0d901713b5 Mon Sep 17 00:00:00 2001 From: skudasov Date: Fri, 8 May 2026 12:57:37 +0200 Subject: [PATCH] use rane sot version_tag field --- framework/.changeset/v0.15.22.md | 1 + framework/cmd/main.go | 6 +----- framework/compat.go | 15 +++++++++------ 3 files changed, 11 insertions(+), 11 deletions(-) create mode 100644 framework/.changeset/v0.15.22.md diff --git a/framework/.changeset/v0.15.22.md b/framework/.changeset/v0.15.22.md new file mode 100644 index 000000000..c78b6afdf --- /dev/null +++ b/framework/.changeset/v0.15.22.md @@ -0,0 +1 @@ +- Use RANE SOT 'version_tag' field in compat testing \ No newline at end of file diff --git a/framework/cmd/main.go b/framework/cmd/main.go index 0e47909c9..5ea9d147b 100644 --- a/framework/cmd/main.go +++ b/framework/cmd/main.go @@ -416,11 +416,7 @@ Be aware that any TODO requires your attention before your run the final test! } if product != "" { - // TODO: Stub, until versions are mapped properly and not skipped this is just an example - // Both Git, ECR and "versions" from SOT data do not match - // so we fetch the data but do not use it for now - // test refs are populated from --refs, see docs and CI in core - _, err := framework.FindNOPsVersionsByProduct(sotURL, product, exclude) + refs, err = framework.FindNOPsVersionsByProduct(sotURL, product, exclude) if err != nil { return err } diff --git a/framework/compat.go b/framework/compat.go index 2b87c0103..ab6736175 100644 --- a/framework/compat.go +++ b/framework/compat.go @@ -366,7 +366,8 @@ type RaneSOTResponseBody struct { Jobs []struct { Product string `json:"product"` } `json:"jobs"` - Version string `json:"version"` + DockerTag string `json:"docker_tag"` + VersionTag string `json:"version_tag"` } `json:"nodes"` } @@ -401,22 +402,24 @@ func FindNOPsVersionsByProduct(url string, product string, exclude []string) ([] if err != nil { return nil, fmt.Errorf("failed to fetch SOT data: %w", err) } - refs := make([]string, 0) + versions := make([]string, 0) products := make(map[string]bool) seenRefs := make(map[string]bool, 0) for _, n := range src.Nodes { for _, j := range n.Jobs { products[j.Product] = true if j.Product == product { - if _, ok := seenRefs[n.Version]; !ok { - refs = append(refs, n.Version) - seenRefs[n.Version] = true + if _, ok := seenRefs[n.VersionTag]; !ok { + versions = append(versions, n.VersionTag) + seenRefs[n.VersionTag] = true } } } } - semverTags := FilterSemverTags(refs, []string{}, exclude, "") + L.Info().Any("Tags", versions).Msg("Found Version tags") + semverTags := FilterSemverTags(versions, []string{}, exclude, "") slices.Reverse(semverTags) + L.Info().Any("SemVerTags", semverTags).Msg("Found SemVer tags") L.Info().Any("Products", slices.Collect(maps.Keys(products))).Msg("Found products") return semverTags, nil }