From f7797878886e01df1dfed8cb8576e30bd253e0fd Mon Sep 17 00:00:00 2001 From: priyaselvaganesan Date: Mon, 20 Jul 2026 11:33:31 -0700 Subject: [PATCH 1/6] feat(go-lib/version): add Handler and HandlerFor http.Handler Adds a shared HTTP handler to go-lib/pkg/version that serves build metadata as JSON at GET /version. Version and commit are injected at link time via Bazel x_defs (STABLE_VERSION, STABLE_GIT_COMMIT) when built with --stamp. Falls back to Go runtime build info for commit when GitHash is not injected, so local go build still returns a real commit SHA. Response schema: {"version": "v1.2.3", "commit": "abc1234"} Refs: NVCF-10975 --- src/libraries/go/lib/pkg/version/BUILD.bazel | 2 + src/libraries/go/lib/pkg/version/handler.go | 81 ++++++++++++++ .../go/lib/pkg/version/handler_test.go | 105 ++++++++++++++++++ 3 files changed, 188 insertions(+) create mode 100644 src/libraries/go/lib/pkg/version/handler.go create mode 100644 src/libraries/go/lib/pkg/version/handler_test.go diff --git a/src/libraries/go/lib/pkg/version/BUILD.bazel b/src/libraries/go/lib/pkg/version/BUILD.bazel index 3ba893b52..a7b526d4e 100644 --- a/src/libraries/go/lib/pkg/version/BUILD.bazel +++ b/src/libraries/go/lib/pkg/version/BUILD.bazel @@ -18,6 +18,7 @@ load("@rules_go//go:def.bzl", "go_library", "go_test") go_library( name = "version", srcs = [ + "handler.go", "http.go", "version.go", ], @@ -28,6 +29,7 @@ go_library( go_test( name = "version_test", srcs = [ + "handler_test.go", "http_test.go", "version_test.go", ], diff --git a/src/libraries/go/lib/pkg/version/handler.go b/src/libraries/go/lib/pkg/version/handler.go new file mode 100644 index 000000000..d05bccedc --- /dev/null +++ b/src/libraries/go/lib/pkg/version/handler.go @@ -0,0 +1,81 @@ +/* +SPDX-FileCopyrightText: Copyright (c) NVIDIA CORPORATION & AFFILIATES. All rights reserved. +SPDX-License-Identifier: Apache-2.0 + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package version + +import ( + "encoding/json" + "net/http" + "runtime/debug" +) + +// Info holds the resolved build version metadata returned by the /version endpoint. +type Info struct { + Version string `json:"version"` + Commit string `json:"commit"` +} + +// Handler returns an http.Handler that serves build version info as JSON. +// Version and Commit are resolved from the package-level ldflags vars +// (Version, GitHash), with buildinfo used as a fallback for Commit +// when GitHash is empty. +func Handler() http.Handler { + return HandlerFor(Version, GitHash) +} + +// HandlerFor returns an http.Handler using the provided version and commit +// values, falling back to buildinfo for commit when commit is empty. +// Use this for services that maintain their own ldflags vars rather than +// pointing directly at this package. +func HandlerFor(ver, commit string) http.Handler { + info := resolve(ver, commit) + body, _ := json.Marshal(info) + return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + w.Header().Set("Content-Type", "application/json") + _, _ = w.Write(body) + }) +} + +// resolve builds an Info by combining the given ver/commit, +// falling back to runtime buildinfo for commit when empty. +func resolve(ver, commit string) Info { + if commit == "" { + commit = commitFromBuildInfo() + } + if ver == "" { + ver = "unknown" + } + if commit == "" { + commit = "unknown" + } + return Info{Version: ver, Commit: commit} +} + +// commitFromBuildInfo reads the VCS revision from Go's embedded build info +// (available when built inside a git repository without -buildvcs=false). +func commitFromBuildInfo() string { + info, ok := debug.ReadBuildInfo() + if !ok { + return "" + } + for _, s := range info.Settings { + if s.Key == "vcs.revision" { + return s.Value + } + } + return "" +} diff --git a/src/libraries/go/lib/pkg/version/handler_test.go b/src/libraries/go/lib/pkg/version/handler_test.go new file mode 100644 index 000000000..9b753d684 --- /dev/null +++ b/src/libraries/go/lib/pkg/version/handler_test.go @@ -0,0 +1,105 @@ +/* +SPDX-FileCopyrightText: Copyright (c) NVIDIA CORPORATION & AFFILIATES. All rights reserved. +SPDX-License-Identifier: Apache-2.0 + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package version + +import ( + "encoding/json" + "net/http" + "net/http/httptest" + "testing" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" +) + +func TestHandlerFor(t *testing.T) { + tests := []struct { + name string + ver string + commit string + wantVersion string + wantCommit string + }{ + { + name: "both set", + ver: "1.2.3", + commit: "abc1234", + wantVersion: "1.2.3", + wantCommit: "abc1234", + }, + { + name: "empty version falls back to unknown", + ver: "", + commit: "abc1234", + wantVersion: "unknown", + wantCommit: "abc1234", + }, + { + name: "empty commit falls back to buildinfo or unknown", + ver: "1.2.3", + commit: "", + wantVersion: "1.2.3", + // commit will be whatever buildinfo provides in the test binary, + // or "unknown" -- just assert it is non-empty string + }, + } + + for _, tc := range tests { + t.Run(tc.name, func(t *testing.T) { + w := httptest.NewRecorder() + r := httptest.NewRequest(http.MethodGet, "/version", nil) + HandlerFor(tc.ver, tc.commit).ServeHTTP(w, r) + + assert.Equal(t, http.StatusOK, w.Code) + assert.Equal(t, "application/json", w.Header().Get("Content-Type")) + + var got Info + require.NoError(t, json.Unmarshal(w.Body.Bytes(), &got)) + + if tc.wantVersion != "" { + assert.Equal(t, tc.wantVersion, got.Version) + } + if tc.wantCommit != "" { + assert.Equal(t, tc.wantCommit, got.Commit) + } + assert.NotEmpty(t, got.Commit) + }) + } +} + +func TestHandler(t *testing.T) { + t.Cleanup(func() { + Version = "" + GitHash = "" + }) + + Version = "2.0.0" + GitHash = "deadbeef" + + w := httptest.NewRecorder() + r := httptest.NewRequest(http.MethodGet, "/version", nil) + Handler().ServeHTTP(w, r) + + assert.Equal(t, http.StatusOK, w.Code) + assert.Equal(t, "application/json", w.Header().Get("Content-Type")) + + var got Info + require.NoError(t, json.Unmarshal(w.Body.Bytes(), &got)) + assert.Equal(t, "2.0.0", got.Version) + assert.Equal(t, "deadbeef", got.Commit) +} From a799e06763cfa5e4e7c51d82f10bc7a8c1ea3485 Mon Sep 17 00:00:00 2001 From: priyaselvaganesan Date: Mon, 20 Jul 2026 14:11:08 -0700 Subject: [PATCH 2/6] feat(helm-reval): expose GET /version endpoint Adds a GET /version handler to the management server (port 8082, alongside /healthz and /log_level). Returns service semver and commit SHA injected at build time via Bazel x_defs. Blocked on go-lib PR #270 merging. Once that lands, go.mod will be updated to the published version and the inline handler replaced with nvcfversion.Handler(). Refs: NVCF-10975 --- .../helm-reval/cmd/reval/cli/BUILD.bazel | 1 + src/control-plane-services/helm-reval/cmd/reval/cli/server.go | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/src/control-plane-services/helm-reval/cmd/reval/cli/BUILD.bazel b/src/control-plane-services/helm-reval/cmd/reval/cli/BUILD.bazel index 644d45ca0..e628dbd4e 100644 --- a/src/control-plane-services/helm-reval/cmd/reval/cli/BUILD.bazel +++ b/src/control-plane-services/helm-reval/cmd/reval/cli/BUILD.bazel @@ -25,6 +25,7 @@ go_library( "@com_github_go_chi_chi_v5//middleware", "@com_github_go_chi_render//:render", "@com_github_nvidia_nvcf_src_libraries_go_lib//pkg/cobraautobind", + "@com_github_nvidia_nvcf_src_libraries_go_lib//pkg/version", "@com_github_spf13_cobra//:cobra", "@com_github_spf13_viper//:viper", "@io_opentelemetry_go_otel//:otel", diff --git a/src/control-plane-services/helm-reval/cmd/reval/cli/server.go b/src/control-plane-services/helm-reval/cmd/reval/cli/server.go index 38864a6a0..d8698a29b 100644 --- a/src/control-plane-services/helm-reval/cmd/reval/cli/server.go +++ b/src/control-plane-services/helm-reval/cmd/reval/cli/server.go @@ -36,6 +36,8 @@ import ( chiMiddleware "github.com/go-chi/chi/v5/middleware" + nvcfversion "github.com/NVIDIA/nvcf/src/libraries/go/lib/pkg/version" + "github.com/NVIDIA/nvcf/src/control-plane-services/helm-reval/pkg/authorizers" "github.com/NVIDIA/nvcf/src/control-plane-services/helm-reval/pkg/httpapi" "github.com/NVIDIA/nvcf/src/control-plane-services/helm-reval/pkg/reval/authz" @@ -167,6 +169,8 @@ func serveManagementRoutes(logger *zap.Logger, loggerAtomicLevel *zap.AtomicLeve } }) + router.Handle("/version", nvcfversion.Handler()) + router.Get("/log_level", loggerAtomicLevel.ServeHTTP) httpServer := &http.Server{ From d7bc3d23c76bfe7f69098d4807166ba7d5695584 Mon Sep 17 00:00:00 2001 From: priyaselvaganesan Date: Tue, 21 Jul 2026 16:19:19 -0700 Subject: [PATCH 3/6] feat(go-lib/version): add Service field, rename endpoint to GET /info Adds Service string var injected via x_defs so each service identifies itself in the response. Renames from GET /version to GET /info following reviewer feedback that /info is more extensible for future fields. Response schema: {"service":"nvcf-my-service","version":"v1.2.3","commit":"abc1234"} Refs: NVCF-10975 --- src/libraries/go/lib/pkg/version/handler.go | 28 ++++++++------ .../go/lib/pkg/version/handler_test.go | 37 +++++++++++++++---- src/libraries/go/lib/pkg/version/version.go | 1 + 3 files changed, 47 insertions(+), 19 deletions(-) diff --git a/src/libraries/go/lib/pkg/version/handler.go b/src/libraries/go/lib/pkg/version/handler.go index d05bccedc..73959e9ed 100644 --- a/src/libraries/go/lib/pkg/version/handler.go +++ b/src/libraries/go/lib/pkg/version/handler.go @@ -23,26 +23,27 @@ import ( "runtime/debug" ) -// Info holds the resolved build version metadata returned by the /version endpoint. +// Info holds the resolved build metadata returned by the GET /info endpoint. type Info struct { + Service string `json:"service"` Version string `json:"version"` Commit string `json:"commit"` } -// Handler returns an http.Handler that serves build version info as JSON. -// Version and Commit are resolved from the package-level ldflags vars -// (Version, GitHash), with buildinfo used as a fallback for Commit +// Handler returns an http.Handler that serves build info as JSON. +// Service, Version, and Commit are resolved from the package-level ldflags vars +// (Service, Version, GitHash), with buildinfo used as a fallback for Commit // when GitHash is empty. func Handler() http.Handler { - return HandlerFor(Version, GitHash) + return HandlerFor(Service, Version, GitHash) } -// HandlerFor returns an http.Handler using the provided version and commit -// values, falling back to buildinfo for commit when commit is empty. +// HandlerFor returns an http.Handler using the provided service, version, and +// commit values, falling back to buildinfo for commit when commit is empty. // Use this for services that maintain their own ldflags vars rather than // pointing directly at this package. -func HandlerFor(ver, commit string) http.Handler { - info := resolve(ver, commit) +func HandlerFor(service, ver, commit string) http.Handler { + info := resolve(service, ver, commit) body, _ := json.Marshal(info) return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { w.Header().Set("Content-Type", "application/json") @@ -50,19 +51,22 @@ func HandlerFor(ver, commit string) http.Handler { }) } -// resolve builds an Info by combining the given ver/commit, +// resolve builds an Info by combining the given service/ver/commit, // falling back to runtime buildinfo for commit when empty. -func resolve(ver, commit string) Info { +func resolve(service, ver, commit string) Info { if commit == "" { commit = commitFromBuildInfo() } + if service == "" { + service = "unknown" + } if ver == "" { ver = "unknown" } if commit == "" { commit = "unknown" } - return Info{Version: ver, Commit: commit} + return Info{Service: service, Version: ver, Commit: commit} } // commitFromBuildInfo reads the VCS revision from Go's embedded build info diff --git a/src/libraries/go/lib/pkg/version/handler_test.go b/src/libraries/go/lib/pkg/version/handler_test.go index 9b753d684..61e979650 100644 --- a/src/libraries/go/lib/pkg/version/handler_test.go +++ b/src/libraries/go/lib/pkg/version/handler_test.go @@ -30,29 +30,46 @@ import ( func TestHandlerFor(t *testing.T) { tests := []struct { name string + service string ver string commit string + wantService string wantVersion string wantCommit string }{ { - name: "both set", + name: "all set", + service: "nvcf-my-service", ver: "1.2.3", commit: "abc1234", + wantService: "nvcf-my-service", + wantVersion: "1.2.3", + wantCommit: "abc1234", + }, + { + name: "empty service falls back to unknown", + service: "", + ver: "1.2.3", + commit: "abc1234", + wantService: "unknown", wantVersion: "1.2.3", wantCommit: "abc1234", }, { name: "empty version falls back to unknown", + service: "nvcf-my-service", ver: "", commit: "abc1234", + wantService: "nvcf-my-service", wantVersion: "unknown", wantCommit: "abc1234", }, { - name: "empty commit falls back to buildinfo or unknown", - ver: "1.2.3", - commit: "", + name: "empty commit falls back to buildinfo or unknown", + service: "nvcf-my-service", + ver: "1.2.3", + commit: "", + wantService: "nvcf-my-service", wantVersion: "1.2.3", // commit will be whatever buildinfo provides in the test binary, // or "unknown" -- just assert it is non-empty string @@ -62,8 +79,8 @@ func TestHandlerFor(t *testing.T) { for _, tc := range tests { t.Run(tc.name, func(t *testing.T) { w := httptest.NewRecorder() - r := httptest.NewRequest(http.MethodGet, "/version", nil) - HandlerFor(tc.ver, tc.commit).ServeHTTP(w, r) + r := httptest.NewRequest(http.MethodGet, "/info", nil) + HandlerFor(tc.service, tc.ver, tc.commit).ServeHTTP(w, r) assert.Equal(t, http.StatusOK, w.Code) assert.Equal(t, "application/json", w.Header().Get("Content-Type")) @@ -71,6 +88,9 @@ func TestHandlerFor(t *testing.T) { var got Info require.NoError(t, json.Unmarshal(w.Body.Bytes(), &got)) + if tc.wantService != "" { + assert.Equal(t, tc.wantService, got.Service) + } if tc.wantVersion != "" { assert.Equal(t, tc.wantVersion, got.Version) } @@ -84,15 +104,17 @@ func TestHandlerFor(t *testing.T) { func TestHandler(t *testing.T) { t.Cleanup(func() { + Service = "" Version = "" GitHash = "" }) + Service = "nvcf-my-service" Version = "2.0.0" GitHash = "deadbeef" w := httptest.NewRecorder() - r := httptest.NewRequest(http.MethodGet, "/version", nil) + r := httptest.NewRequest(http.MethodGet, "/info", nil) Handler().ServeHTTP(w, r) assert.Equal(t, http.StatusOK, w.Code) @@ -100,6 +122,7 @@ func TestHandler(t *testing.T) { var got Info require.NoError(t, json.Unmarshal(w.Body.Bytes(), &got)) + assert.Equal(t, "nvcf-my-service", got.Service) assert.Equal(t, "2.0.0", got.Version) assert.Equal(t, "deadbeef", got.Commit) } diff --git a/src/libraries/go/lib/pkg/version/version.go b/src/libraries/go/lib/pkg/version/version.go index 999c58e8c..e26a4bb6f 100644 --- a/src/libraries/go/lib/pkg/version/version.go +++ b/src/libraries/go/lib/pkg/version/version.go @@ -21,6 +21,7 @@ import "strings" // Following variables are set by CI during compilation. var ( + Service string Version string GitHash string // Dirty is set to "true" if current git working directory has From d6e685745960c22d1801fe91530b347c08675f31 Mon Sep 17 00:00:00 2001 From: priyaselvaganesan Date: Tue, 21 Jul 2026 16:21:08 -0700 Subject: [PATCH 4/6] feat(helm-reval): expose GET /info endpoint with service metadata Registers nvcfversion.Handler() at GET /info on the management server (port 8082). Returns service name, semver, and commit SHA injected at build time via Bazel x_defs. Blocked on go-lib PR #270 merging. Once that lands, go.mod will be updated to the published version that includes Handler(). Refs: NVCF-10975 --- .../helm-reval/cmd/reval-service/BUILD.bazel | 1 + src/control-plane-services/helm-reval/cmd/reval/cli/server.go | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/control-plane-services/helm-reval/cmd/reval-service/BUILD.bazel b/src/control-plane-services/helm-reval/cmd/reval-service/BUILD.bazel index 273dd8c03..e24c6d62a 100644 --- a/src/control-plane-services/helm-reval/cmd/reval-service/BUILD.bazel +++ b/src/control-plane-services/helm-reval/cmd/reval-service/BUILD.bazel @@ -25,6 +25,7 @@ go_binary( visibility = ["//visibility:public"], # Mirrors the legacy Dockerfile ldflags: -X version.{Version,GitHash,ReleaseTag}. x_defs = { + "github.com/NVIDIA/nvcf/src/libraries/go/lib/pkg/version.Service": "nvcf-helm-reval-api", "github.com/NVIDIA/nvcf/src/libraries/go/lib/pkg/version.Version": "{STABLE_VERSION}", "github.com/NVIDIA/nvcf/src/libraries/go/lib/pkg/version.GitHash": "{STABLE_GIT_COMMIT}", "github.com/NVIDIA/nvcf/src/libraries/go/lib/pkg/version.ReleaseTag": "{STABLE_OCI_TAG}", diff --git a/src/control-plane-services/helm-reval/cmd/reval/cli/server.go b/src/control-plane-services/helm-reval/cmd/reval/cli/server.go index d8698a29b..d951214b5 100644 --- a/src/control-plane-services/helm-reval/cmd/reval/cli/server.go +++ b/src/control-plane-services/helm-reval/cmd/reval/cli/server.go @@ -169,7 +169,7 @@ func serveManagementRoutes(logger *zap.Logger, loggerAtomicLevel *zap.AtomicLeve } }) - router.Handle("/version", nvcfversion.Handler()) + router.Handle("/info", nvcfversion.Handler()) router.Get("/log_level", loggerAtomicLevel.ServeHTTP) From 50bc92b0de95b1b811070eab50aca0ddfab773f4 Mon Sep 17 00:00:00 2001 From: priyaselvaganesan Date: Thu, 23 Jul 2026 12:49:56 -0700 Subject: [PATCH 5/6] test(go-lib/version): use full sha in handler test fixtures --- .../go/lib/pkg/version/handler_test.go | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/src/libraries/go/lib/pkg/version/handler_test.go b/src/libraries/go/lib/pkg/version/handler_test.go index 61e979650..21fe22245 100644 --- a/src/libraries/go/lib/pkg/version/handler_test.go +++ b/src/libraries/go/lib/pkg/version/handler_test.go @@ -41,38 +41,38 @@ func TestHandlerFor(t *testing.T) { name: "all set", service: "nvcf-my-service", ver: "1.2.3", - commit: "abc1234", + commit: "abc1234def5678901234567890123456789012ab", wantService: "nvcf-my-service", wantVersion: "1.2.3", - wantCommit: "abc1234", + wantCommit: "abc1234def5678901234567890123456789012ab", }, { name: "empty service falls back to unknown", service: "", ver: "1.2.3", - commit: "abc1234", + commit: "abc1234def5678901234567890123456789012ab", wantService: "unknown", wantVersion: "1.2.3", - wantCommit: "abc1234", + wantCommit: "abc1234def5678901234567890123456789012ab", }, { name: "empty version falls back to unknown", service: "nvcf-my-service", ver: "", - commit: "abc1234", + commit: "abc1234def5678901234567890123456789012ab", wantService: "nvcf-my-service", wantVersion: "unknown", - wantCommit: "abc1234", + wantCommit: "abc1234def5678901234567890123456789012ab", }, { - name: "empty commit falls back to buildinfo or unknown", - service: "nvcf-my-service", - ver: "1.2.3", - commit: "", - wantService: "nvcf-my-service", - wantVersion: "1.2.3", + name: "empty commit falls back to buildinfo or unknown", + service: "nvcf-my-service", + ver: "1.2.3", + commit: "", // commit will be whatever buildinfo provides in the test binary, // or "unknown" -- just assert it is non-empty string + wantService: "nvcf-my-service", + wantVersion: "1.2.3", }, } @@ -111,7 +111,7 @@ func TestHandler(t *testing.T) { Service = "nvcf-my-service" Version = "2.0.0" - GitHash = "deadbeef" + GitHash = "deadbeef1234567890abcdef1234567890abcdef" w := httptest.NewRecorder() r := httptest.NewRequest(http.MethodGet, "/info", nil) @@ -124,5 +124,5 @@ func TestHandler(t *testing.T) { require.NoError(t, json.Unmarshal(w.Body.Bytes(), &got)) assert.Equal(t, "nvcf-my-service", got.Service) assert.Equal(t, "2.0.0", got.Version) - assert.Equal(t, "deadbeef", got.Commit) + assert.Equal(t, "deadbeef1234567890abcdef1234567890abcdef", got.Commit) } From 298291f237f6249995e416062f14a33fa0c5e35b Mon Sep 17 00:00:00 2001 From: priyaselvaganesan Date: Fri, 24 Jul 2026 10:21:01 -0700 Subject: [PATCH 6/6] feat(helm-reval): use full commit sha in GET /info response --- .../helm-reval/MODULE.bazel.lock | 32 +++++------- .../helm-reval/cmd/reval-service/BUILD.bazel | 2 +- src/control-plane-services/helm-reval/go.mod | 24 ++++----- src/control-plane-services/helm-reval/go.sum | 50 ++++++++++--------- .../helm-reval/tools/workspace_status.sh | 2 + tools/workspace_status.sh | 2 + 6 files changed, 56 insertions(+), 56 deletions(-) diff --git a/src/control-plane-services/helm-reval/MODULE.bazel.lock b/src/control-plane-services/helm-reval/MODULE.bazel.lock index 842e38075..db53b8112 100644 --- a/src/control-plane-services/helm-reval/MODULE.bazel.lock +++ b/src/control-plane-services/helm-reval/MODULE.bazel.lock @@ -264,7 +264,7 @@ "@@rules_oci+//oci:extensions.bzl%oci": { "general": { "bzlTransitiveDigest": "YCU8mhtDKo60hur+x5htbIQXAEDkvywpRHJyp5T9hwg=", - "usagesDigest": "DfS6W0FMZBUE/E/LNdfbcYNnUMgZgVVjS9d/yqF2Kz0=", + "usagesDigest": "5f3bHdSuOonzrvTIysp/w0SRa6NqPtuBQG66NO5ZkXM=", "recordedFileInputs": {}, "recordedDirentsInputs": {}, "envVariables": {}, @@ -272,13 +272,11 @@ "distroless_go_linux_amd64": { "repoRuleId": "@@rules_oci+//oci/private:pull.bzl%oci_pull", "attributes": { - "www_authenticate_challenges": { - "urm.nvidia.com": "Bearer realm=\"https://urm.nvidia.com/artifactory/api/docker/null/v2/token\",service=\"urm.nvidia.com\",scope=\"repository:{repository}:pull\"" - }, + "www_authenticate_challenges": {}, "scheme": "https", - "registry": "urm.nvidia.com", - "repository": "sw-gpu-ucs-hardened-docker/distroless/go", - "identifier": "sha256:6be4473eca4e8a5fdf8d7103a4d35708f5538bb5f7a58f0d12a257bdf362334f", + "registry": "nvcr.io", + "repository": "nvidia/distroless/go", + "identifier": "sha256:2ae1c3f90de1735fefb2a951977b7e78aa1c691f345d58c87b0d6bb7eff4f4d5", "platform": "linux/amd64", "target_name": "distroless_go_linux_amd64", "bazel_tags": [] @@ -287,13 +285,11 @@ "distroless_go_linux_arm64_v8": { "repoRuleId": "@@rules_oci+//oci/private:pull.bzl%oci_pull", "attributes": { - "www_authenticate_challenges": { - "urm.nvidia.com": "Bearer realm=\"https://urm.nvidia.com/artifactory/api/docker/null/v2/token\",service=\"urm.nvidia.com\",scope=\"repository:{repository}:pull\"" - }, + "www_authenticate_challenges": {}, "scheme": "https", - "registry": "urm.nvidia.com", - "repository": "sw-gpu-ucs-hardened-docker/distroless/go", - "identifier": "sha256:6be4473eca4e8a5fdf8d7103a4d35708f5538bb5f7a58f0d12a257bdf362334f", + "registry": "nvcr.io", + "repository": "nvidia/distroless/go", + "identifier": "sha256:2ae1c3f90de1735fefb2a951977b7e78aa1c691f345d58c87b0d6bb7eff4f4d5", "platform": "linux/arm64/v8", "target_name": "distroless_go_linux_arm64_v8", "bazel_tags": [] @@ -303,13 +299,11 @@ "repoRuleId": "@@rules_oci+//oci/private:pull.bzl%oci_alias", "attributes": { "target_name": "distroless_go", - "www_authenticate_challenges": { - "urm.nvidia.com": "Bearer realm=\"https://urm.nvidia.com/artifactory/api/docker/null/v2/token\",service=\"urm.nvidia.com\",scope=\"repository:{repository}:pull\"" - }, + "www_authenticate_challenges": {}, "scheme": "https", - "registry": "urm.nvidia.com", - "repository": "sw-gpu-ucs-hardened-docker/distroless/go", - "identifier": "sha256:6be4473eca4e8a5fdf8d7103a4d35708f5538bb5f7a58f0d12a257bdf362334f", + "registry": "nvcr.io", + "repository": "nvidia/distroless/go", + "identifier": "sha256:2ae1c3f90de1735fefb2a951977b7e78aa1c691f345d58c87b0d6bb7eff4f4d5", "platforms": { "@@platforms//cpu:x86_64": "@distroless_go_linux_amd64", "@@platforms//cpu:arm64": "@distroless_go_linux_arm64_v8" diff --git a/src/control-plane-services/helm-reval/cmd/reval-service/BUILD.bazel b/src/control-plane-services/helm-reval/cmd/reval-service/BUILD.bazel index e24c6d62a..074c34215 100644 --- a/src/control-plane-services/helm-reval/cmd/reval-service/BUILD.bazel +++ b/src/control-plane-services/helm-reval/cmd/reval-service/BUILD.bazel @@ -27,7 +27,7 @@ go_binary( x_defs = { "github.com/NVIDIA/nvcf/src/libraries/go/lib/pkg/version.Service": "nvcf-helm-reval-api", "github.com/NVIDIA/nvcf/src/libraries/go/lib/pkg/version.Version": "{STABLE_VERSION}", - "github.com/NVIDIA/nvcf/src/libraries/go/lib/pkg/version.GitHash": "{STABLE_GIT_COMMIT}", + "github.com/NVIDIA/nvcf/src/libraries/go/lib/pkg/version.GitHash": "{STABLE_GIT_COMMIT_FULL}", "github.com/NVIDIA/nvcf/src/libraries/go/lib/pkg/version.ReleaseTag": "{STABLE_OCI_TAG}", }, ) diff --git a/src/control-plane-services/helm-reval/go.mod b/src/control-plane-services/helm-reval/go.mod index d3232f51f..c25a4bad5 100644 --- a/src/control-plane-services/helm-reval/go.mod +++ b/src/control-plane-services/helm-reval/go.mod @@ -3,7 +3,7 @@ module github.com/NVIDIA/nvcf/src/control-plane-services/helm-reval go 1.25.1 require ( - github.com/NVIDIA/nvcf/src/libraries/go/lib v0.0.0-20260609153951-84087770a569 + github.com/NVIDIA/nvcf/src/libraries/go/lib v0.0.0-20260723194956-50bc92b0de95 github.com/felixge/httpsnoop v1.0.4 github.com/go-chi/chi/v5 v5.2.2 github.com/go-chi/render v1.0.3 @@ -17,14 +17,14 @@ require ( github.com/spf13/viper v1.21.0 github.com/stretchr/testify v1.11.1 go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.65.0 - go.opentelemetry.io/otel v1.43.0 + go.opentelemetry.io/otel v1.44.0 go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.43.0 go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.43.0 go.opentelemetry.io/otel/exporters/prometheus v0.65.0 - go.opentelemetry.io/otel/metric v1.43.0 - go.opentelemetry.io/otel/sdk v1.43.0 - go.opentelemetry.io/otel/sdk/metric v1.43.0 - go.opentelemetry.io/otel/trace v1.43.0 + go.opentelemetry.io/otel/metric v1.44.0 + go.opentelemetry.io/otel/sdk v1.44.0 + go.opentelemetry.io/otel/sdk/metric v1.44.0 + go.opentelemetry.io/otel/trace v1.44.0 go.uber.org/zap v1.27.0 google.golang.org/grpc v1.80.0 helm.sh/helm/v3 v3.18.5 @@ -140,7 +140,7 @@ require ( github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f // indirect github.com/opencontainers/go-digest v1.0.0 // indirect github.com/opencontainers/image-spec v1.1.1 // indirect - github.com/pelletier/go-toml/v2 v2.2.4 // indirect + github.com/pelletier/go-toml/v2 v2.3.0 // indirect github.com/peterbourgon/diskv v2.0.1+incompatible // indirect github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect @@ -169,13 +169,13 @@ require ( go.uber.org/multierr v1.11.0 // indirect go.yaml.in/yaml/v2 v2.4.4 // indirect go.yaml.in/yaml/v3 v3.0.4 // indirect - golang.org/x/crypto v0.49.0 // indirect - golang.org/x/net v0.52.0 // indirect + golang.org/x/crypto v0.51.0 // indirect + golang.org/x/net v0.55.0 // indirect golang.org/x/oauth2 v0.36.0 // indirect golang.org/x/sync v0.20.0 // indirect - golang.org/x/sys v0.43.0 // indirect - golang.org/x/term v0.41.0 // indirect - golang.org/x/text v0.35.0 // indirect + golang.org/x/sys v0.45.0 // indirect + golang.org/x/term v0.43.0 // indirect + golang.org/x/text v0.37.0 // indirect golang.org/x/time v0.12.0 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20260401024825-9d38bb4040a9 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20260401024825-9d38bb4040a9 // indirect diff --git a/src/control-plane-services/helm-reval/go.sum b/src/control-plane-services/helm-reval/go.sum index 3b230f2e4..c6e3bbe92 100644 --- a/src/control-plane-services/helm-reval/go.sum +++ b/src/control-plane-services/helm-reval/go.sum @@ -1275,8 +1275,8 @@ github.com/Masterminds/sprig/v3 v3.3.0 h1:mQh0Yrg1XPo6vjYXgtf5OtijNAKJRNcTdOOGZe github.com/Masterminds/sprig/v3 v3.3.0/go.mod h1:Zy1iXRYNqNLUolqCpL4uhk6SHUMAOSCzdgBfDb35Lz0= github.com/Masterminds/squirrel v1.5.4 h1:uUcX/aBc8O7Fg9kaISIUsHXdKuqehiXAMQTYX8afzqM= github.com/Masterminds/squirrel v1.5.4/go.mod h1:NNaOrjSoIDfDA40n7sr2tPNZRfjzjA400rg+riTZj10= -github.com/NVIDIA/nvcf/src/libraries/go/lib v0.0.0-20260609153951-84087770a569 h1:fVwmeLboW1sMHtsgGJJ2MYeBH7fNuwXTN0qsr8WPZOg= -github.com/NVIDIA/nvcf/src/libraries/go/lib v0.0.0-20260609153951-84087770a569/go.mod h1:a81YFpCa6Wl01ZNx+2wF7NXoPcn0bWWY4GLrUOpnN1g= +github.com/NVIDIA/nvcf/src/libraries/go/lib v0.0.0-20260723194956-50bc92b0de95 h1:UO1TFuGEANOYWDC5FSfWt2J18jlJitiBIj2Y/CaV5u8= +github.com/NVIDIA/nvcf/src/libraries/go/lib v0.0.0-20260723194956-50bc92b0de95/go.mod h1:nj3yBW2weO0qzi1ML45tBqviLa2Y/KG9qCalxQuJVB8= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/ajg/form v1.5.1 h1:t9c7v8JUKu/XxOGBU0yjNpaMloxGEJhUkqFRq0ibGeU= github.com/ajg/form v1.5.1/go.mod h1:uL1WgH+h2mgNtvBq0339dVnzXdBETtL2LeUXaIv25UY= @@ -1786,8 +1786,8 @@ github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8 github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= github.com/opencontainers/image-spec v1.1.1 h1:y0fUlFfIZhPF1W537XOLg0/fcx6zcHCJwooC2xJA040= github.com/opencontainers/image-spec v1.1.1/go.mod h1:qpqAh3Dmcf36wStyyWU+kCeDgrGnAve2nCC8+7h8Q0M= -github.com/pelletier/go-toml/v2 v2.2.4 h1:mye9XuhQ6gvn5h28+VilKrrPoQVanw5PMw/TB0t5Ec4= -github.com/pelletier/go-toml/v2 v2.2.4/go.mod h1:2gIqNv+qfxSVS7cM2xJQKtLSTLUE9V8t9Stt+h56mCY= +github.com/pelletier/go-toml/v2 v2.3.0 h1:k59bC/lIZREW0/iVaQR8nDHxVq8OVlIzYCOJf421CaM= +github.com/pelletier/go-toml/v2 v2.3.0/go.mod h1:2gIqNv+qfxSVS7cM2xJQKtLSTLUE9V8t9Stt+h56mCY= github.com/peterbourgon/diskv v2.0.1+incompatible h1:UBdAOUP5p4RWqPBg048CAvpKN+vxiaj6gdUUzhl4XmI= github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= github.com/phayes/freeport v0.0.0-20220201140144-74d24b5ae9f5 h1:Ii+DKncOVM8Cu1Hc+ETb5K+23HdAMvESYE3ZJ5b5cMI= @@ -1938,8 +1938,8 @@ go.opentelemetry.io/otel v1.21.0/go.mod h1:QZzNPQPm1zLX4gZK4cMi+71eaorMSGT3A4znn go.opentelemetry.io/otel v1.22.0/go.mod h1:eoV4iAi3Ea8LkAEI9+GFT44O6T/D0GWAVFyZVCC6pMI= go.opentelemetry.io/otel v1.23.0/go.mod h1:YCycw9ZeKhcJFrb34iVSkyT0iczq/zYDtZYFufObyB0= go.opentelemetry.io/otel v1.24.0/go.mod h1:W7b9Ozg4nkF5tWI5zsXkaKKDjdVjpD4oAt9Qi/MArHo= -go.opentelemetry.io/otel v1.43.0 h1:mYIM03dnh5zfN7HautFE4ieIig9amkNANT+xcVxAj9I= -go.opentelemetry.io/otel v1.43.0/go.mod h1:JuG+u74mvjvcm8vj8pI5XiHy1zDeoCS2LB1spIq7Ay0= +go.opentelemetry.io/otel v1.44.0 h1:JjwHmHpA4iZ3wBxluu2fbbE7j4kqlE8jXyAyPXH7HqU= +go.opentelemetry.io/otel v1.44.0/go.mod h1:BMgjTHL9WPRlRjL2oZCBTL4whCGtXch2H4BhOPIAyYc= go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc v0.8.0 h1:WzNab7hOOLzdDF/EoWCt4glhrbMPVMOO5JYTmpz36Ls= go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc v0.8.0/go.mod h1:hKvJwTzJdp90Vh7p6q/9PAOd55dI6WA6sWj62a/JvSs= go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.8.0 h1:S+LdBGiQXtJdowoJoQPEtI52syEP/JYBUpjO49EQhV8= @@ -1969,24 +1969,26 @@ go.opentelemetry.io/otel/metric v1.21.0/go.mod h1:o1p3CA8nNHW8j5yuQLdc1eeqEaPfzu go.opentelemetry.io/otel/metric v1.22.0/go.mod h1:evJGjVpZv0mQ5QBRJoBF64yMuOf4xCWdXjK8pzFvliY= go.opentelemetry.io/otel/metric v1.23.0/go.mod h1:MqUW2X2a6Q8RN96E2/nqNoT+z9BSms20Jb7Bbp+HiTo= go.opentelemetry.io/otel/metric v1.24.0/go.mod h1:VYhLe1rFfxuTXLgj4CBiyz+9WYBA8pNGJgDcSFRKBco= -go.opentelemetry.io/otel/metric v1.43.0 h1:d7638QeInOnuwOONPp4JAOGfbCEpYb+K6DVWvdxGzgM= -go.opentelemetry.io/otel/metric v1.43.0/go.mod h1:RDnPtIxvqlgO8GRW18W6Z/4P462ldprJtfxHxyKd2PY= +go.opentelemetry.io/otel/metric v1.44.0 h1:1w0gILTcHdr3YI+ixLyjemwrVnsMURbTZFrSYCdDdmc= +go.opentelemetry.io/otel/metric v1.44.0/go.mod h1:8O7hanEPBNgEMmybD3s2VBKcgWOCsA6tzHBPODAiquo= +go.opentelemetry.io/otel/metric/x v0.66.0 h1:YkCrx1zLOChi9ZcZ6euupOcsgzbVlec7D/xoEU1+cTA= +go.opentelemetry.io/otel/metric/x v0.66.0/go.mod h1:d1+BDj9t96do0/1LoU1ayfCv79ZgNE41qbhBvnMOBZk= go.opentelemetry.io/otel/sdk v1.19.0/go.mod h1:NedEbbS4w3C6zElbLdPJKOpJQOrGUJ+GfzpjUvI0v1A= go.opentelemetry.io/otel/sdk v1.21.0/go.mod h1:Nna6Yv7PWTdgJHVRD9hIYywQBRx7pbox6nwBnZIxl/E= go.opentelemetry.io/otel/sdk v1.22.0/go.mod h1:iu7luyVGYovrRpe2fmj3CVKouQNdTOkxtLzPvPz1DOc= -go.opentelemetry.io/otel/sdk v1.43.0 h1:pi5mE86i5rTeLXqoF/hhiBtUNcrAGHLKQdhg4h4V9Dg= -go.opentelemetry.io/otel/sdk v1.43.0/go.mod h1:P+IkVU3iWukmiit/Yf9AWvpyRDlUeBaRg6Y+C58QHzg= +go.opentelemetry.io/otel/sdk v1.44.0 h1:nHYwb9lK+fJPU/dnT6s7W7Z8itMWyqrnVfbheVYrZ58= +go.opentelemetry.io/otel/sdk v1.44.0/go.mod h1:Osuydd3Se74nqjAKxid74N5eC+jfEqfTegHRnq58oK0= go.opentelemetry.io/otel/sdk/log v0.8.0 h1:zg7GUYXqxk1jnGF/dTdLPrK06xJdrXgqgFLnI4Crxvs= go.opentelemetry.io/otel/sdk/log v0.8.0/go.mod h1:50iXr0UVwQrYS45KbruFrEt4LvAdCaWWgIrsN3ZQggo= -go.opentelemetry.io/otel/sdk/metric v1.43.0 h1:S88dyqXjJkuBNLeMcVPRFXpRw2fuwdvfCGLEo89fDkw= -go.opentelemetry.io/otel/sdk/metric v1.43.0/go.mod h1:C/RJtwSEJ5hzTiUz5pXF1kILHStzb9zFlIEe85bhj6A= +go.opentelemetry.io/otel/sdk/metric v1.44.0 h1:3LlKgI+VjbVsjNRFZJZAJ30WjXC5VkNRks6si09iEfI= +go.opentelemetry.io/otel/sdk/metric v1.44.0/go.mod h1:5B5pMARnXxKhltooO4xUuCBorl65a4EpnTalObqOigA= go.opentelemetry.io/otel/trace v1.19.0/go.mod h1:mfaSyvGyEJEI0nyV2I4qhNQnbBOUUmYZpYojqMnX2vo= go.opentelemetry.io/otel/trace v1.21.0/go.mod h1:LGbsEB0f9LGjN+OZaQQ26sohbOmiMR+BaslueVtS/qQ= go.opentelemetry.io/otel/trace v1.22.0/go.mod h1:RbbHXVqKES9QhzZq/fE5UnOSILqRt40a21sPw2He1xo= go.opentelemetry.io/otel/trace v1.23.0/go.mod h1:GSGTbIClEsuZrGIzoEHqsVfxgn5UkggkflQwDScNUsk= go.opentelemetry.io/otel/trace v1.24.0/go.mod h1:HPc3Xr/cOApsBI154IU0OI0HJexz+aw5uPdbs3UCjNU= -go.opentelemetry.io/otel/trace v1.43.0 h1:BkNrHpup+4k4w+ZZ86CZoHHEkohws8AY+WTX09nk+3A= -go.opentelemetry.io/otel/trace v1.43.0/go.mod h1:/QJhyVBUUswCphDVxq+8mld+AvhXZLhe+8WVFxiFff0= +go.opentelemetry.io/otel/trace v1.44.0 h1:jxF5CsGYCe74MCRx2X4g7WsY/VBKRqqpNvXlX/6gtIk= +go.opentelemetry.io/otel/trace v1.44.0/go.mod h1:oLl1jrMQAVo6v3GAggN+1VH9VIz9iUSvW53sW1Q8PIE= go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= go.opentelemetry.io/proto/otlp v0.15.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= go.opentelemetry.io/proto/otlp v0.19.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= @@ -2028,8 +2030,8 @@ golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg= golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= -golang.org/x/crypto v0.49.0 h1:+Ng2ULVvLHnJ/ZFEq4KdcDd/cfjrrjjNSXNzxg0Y4U4= -golang.org/x/crypto v0.49.0/go.mod h1:ErX4dUh2UM+CFYiXZRTcMpEcN8b/1gxEuv3nODoYtCA= +golang.org/x/crypto v0.51.0 h1:IBPXwPfKxY7cWQZ38ZCIRPI50YLeevDLlLnyC5wRGTI= +golang.org/x/crypto v0.51.0/go.mod h1:8AdwkbraGNABw2kOX6YFPs3WM22XqI4EXEd8g+x7Oc8= golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= @@ -2131,8 +2133,8 @@ golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U= golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY= golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= golang.org/x/net v0.22.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= -golang.org/x/net v0.52.0 h1:He/TN1l0e4mmR3QqHMT2Xab3Aj3L9qjbhRm78/6jrW0= -golang.org/x/net v0.52.0/go.mod h1:R1MAz7uMZxVMualyPXb+VaqGSa3LIaUqk0eEt3w36Sw= +golang.org/x/net v0.55.0 h1:bcvxaJn3e1U6InsFWt1JUq1aSjnRxLzT2rtD2KfkDF8= +golang.org/x/net v0.55.0/go.mod h1:L5U2KuzuOe1lY7Z+aWVIKK6qEeJXnXV9yzGA+WCHJww= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -2254,8 +2256,8 @@ golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.43.0 h1:Rlag2XtaFTxp19wS8MXlJwTvoh8ArU6ezoyFsMyCTNI= -golang.org/x/sys v0.43.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= +golang.org/x/sys v0.45.0 h1:dO4czNzziLiiXplLQgBCEpCvXQ3dnkn0SdaZSYdQ+FY= +golang.org/x/sys v0.45.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= 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.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= @@ -2276,8 +2278,8 @@ golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0= golang.org/x/term v0.16.0/go.mod h1:yn7UURbUtPyrVJPGPq404EukNFxcm/foM+bV/bfcDsY= golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58= -golang.org/x/term v0.41.0 h1:QCgPso/Q3RTJx2Th4bDLqML4W6iJiaXFq2/ftQF13YU= -golang.org/x/term v0.41.0/go.mod h1:3pfBgksrReYfZ5lvYM0kSO0LIkAl4Yl2bXOkKP7Ec2A= +golang.org/x/term v0.43.0 h1:S4RLU2sB31O/NCl+zFN9Aru9A/Cq2aqKpTZJ6B+DwT4= +golang.org/x/term v0.43.0/go.mod h1:lrhlHNdQJHO+1qVYiHfFKVuVioJIheAc3fBSMFYEIsk= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= @@ -2297,8 +2299,8 @@ golang.org/x/text v0.11.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/text v0.35.0 h1:JOVx6vVDFokkpaq1AEptVzLTpDe9KGpj5tR4/X+ybL8= -golang.org/x/text v0.35.0/go.mod h1:khi/HExzZJ2pGnjenulevKNX1W67CUy0AsXcNubPGCA= +golang.org/x/text v0.37.0 h1:Cqjiwd9eSg8e0QAkyCaQTNHFIIzWtidPahFWR83rTrc= +golang.org/x/text v0.37.0/go.mod h1:a5sjxXGs9hsn/AJVwuElvCAo9v8QYLzvavO5z2PiM38= golang.org/x/time v0.0.0-20220922220347-f3bd1da661af/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.1.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= diff --git a/src/control-plane-services/helm-reval/tools/workspace_status.sh b/src/control-plane-services/helm-reval/tools/workspace_status.sh index ca37174fe..82bdab46d 100755 --- a/src/control-plane-services/helm-reval/tools/workspace_status.sh +++ b/src/control-plane-services/helm-reval/tools/workspace_status.sh @@ -17,6 +17,7 @@ set -euo pipefail COMMIT=$(git rev-parse --short HEAD 2>/dev/null || echo "unknown") +COMMIT_FULL=$(git rev-parse HEAD 2>/dev/null || echo "unknown") BRANCH=$(git rev-parse --abbrev-ref HEAD 2>/dev/null || echo "unknown") DIRTY="" if [ "$COMMIT" != "unknown" ] && [ -n "$(git status --porcelain 2>/dev/null)" ]; then @@ -39,6 +40,7 @@ GO_VERSION="${NVCF_GO_VERSION:-bazel-rules_go}" echo "STABLE_VERSION ${VERSION}" echo "STABLE_GIT_COMMIT ${COMMIT}${DIRTY}" +echo "STABLE_GIT_COMMIT_FULL ${COMMIT_FULL}${DIRTY}" echo "STABLE_GIT_BRANCH ${BRANCH}" echo "STABLE_BUILD_USER ${BUILD_USER}" echo "STABLE_GO_VERSION ${GO_VERSION}" diff --git a/tools/workspace_status.sh b/tools/workspace_status.sh index 1393379f0..50a8e118a 100755 --- a/tools/workspace_status.sh +++ b/tools/workspace_status.sh @@ -17,6 +17,7 @@ set -euo pipefail COMMIT=$(git rev-parse --short HEAD 2>/dev/null || echo "unknown") +COMMIT_FULL=$(git rev-parse HEAD 2>/dev/null || echo "unknown") BRANCH=$(git rev-parse --abbrev-ref HEAD 2>/dev/null || echo "unknown") DIRTY="" if [ "$COMMIT" != "unknown" ] && [ -n "$(git status --porcelain 2>/dev/null)" ]; then @@ -39,6 +40,7 @@ GO_VERSION="${NVCF_GO_VERSION:-bazel-rules_go}" echo "STABLE_VERSION ${VERSION}" echo "STABLE_GIT_COMMIT ${COMMIT}${DIRTY}" +echo "STABLE_GIT_COMMIT_FULL ${COMMIT_FULL}${DIRTY}" echo "STABLE_GIT_BRANCH ${BRANCH}" echo "STABLE_BUILD_USER ${BUILD_USER}" echo "STABLE_GO_VERSION ${GO_VERSION}"