Skip to content

Commit b673978

Browse files
UPSTREAM: <carry>: [DefaultCatalogTests]: Moving parse of ENVVAR to the caller (follow-up 345)
1 parent f009adb commit b673978

File tree

2 files changed

+25
-23
lines changed

2 files changed

+25
-23
lines changed

openshift/default-catalog-consistency/pkg/extract/extract.go

Lines changed: 1 addition & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ func (r *ExtractedImage) Cleanup() {
3939
}
4040

4141
// UnpackImage pulls the image, extracts it to disk, and opens it as an OCI store.
42-
func UnpackImage(ctx context.Context, imageRef, name string) (res *ExtractedImage, err error) {
42+
func UnpackImage(ctx context.Context, imageRef, name string, sysCtx *types.SystemContext) (res *ExtractedImage, err error) {
4343
tmpDir, err := os.MkdirTemp("", fmt.Sprintf("oci-%s-", name))
4444
if err != nil {
4545
return nil, fmt.Errorf("create temp dir: %w", err)
@@ -53,27 +53,6 @@ func UnpackImage(ctx context.Context, imageRef, name string) (res *ExtractedImag
5353
return nil, fmt.Errorf("parse image ref: %w", err)
5454
}
5555

56-
// Force image resolution to Linux to avoid OS mismatch errors on macOS,
57-
// like: "no image found for architecture 'arm64', OS 'darwin'".
58-
//
59-
// Setting OSChoice = "linux" ensures we always get a Linux image,
60-
// even when running on macOS.
61-
//
62-
// This skips the full multi-arch index and gives us just one manifest.
63-
// To check all supported architectures (e.g., amd64, arm64, ppc64le, s390x),
64-
// we’d need to avoid setting OSChoice and inspect the full index manually.
65-
//
66-
// TODO: Update this to support checking all architectures.
67-
// See: https://issues.redhat.com/browse/OPRUN-3793
68-
sysCtx := &types.SystemContext{
69-
OSChoice: "linux",
70-
}
71-
72-
if authPath := os.Getenv("REGISTRY_AUTH_FILE"); authPath != "" {
73-
fmt.Println("Using registry auth file:", authPath)
74-
sysCtx.AuthFilePath = authPath
75-
}
76-
7756
policyCtx, err := loadPolicyContext(sysCtx, imageRef)
7857
if err != nil {
7958
return nil, fmt.Errorf("create policy context: %w", err)

openshift/default-catalog-consistency/test/validate/suite_test.go

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ package validate
33
import (
44
"context"
55
"fmt"
6+
"github.com/containers/image/v5/types"
7+
"os"
68
"testing"
79

810
. "github.com/onsi/ginkgo/v2"
@@ -23,6 +25,27 @@ var _ = Describe("Check Catalog Consistency", func() {
2325
images, err := utils.ParseImageRefsFromCatalog(catalogsPath)
2426
Expect(err).ToNot(HaveOccurred())
2527
Expect(images).ToNot(BeEmpty(), "no images found")
28+
authPath := os.Getenv("REGISTRY_AUTH_FILE")
29+
30+
// Force image resolution to Linux to avoid OS mismatch errors on macOS,
31+
// like: "no image found for architecture 'arm64', OS 'darwin'".
32+
//
33+
// Setting OSChoice = "linux" ensures we always get a Linux image,
34+
// even when running on macOS.
35+
//
36+
// This skips the full multi-arch index and gives us just one manifest.
37+
// To check all supported architectures (e.g., amd64, arm64, ppc64le, s390x),
38+
// we’d need to avoid setting OSChoice and inspect the full index manually.
39+
//
40+
// TODO: Update this to support checking all architectures.
41+
// See: https://issues.redhat.com/browse/OPRUN-3793
42+
sysCtx := &types.SystemContext{
43+
OSChoice: "linux",
44+
}
45+
if authPath != "" {
46+
fmt.Println("Using registry auth file:", authPath)
47+
sysCtx.AuthFilePath = authPath
48+
}
2649

2750
for _, url := range images {
2851
name := utils.ImageNameFromRef(url)
@@ -31,7 +54,7 @@ var _ = Describe("Check Catalog Consistency", func() {
3154
ctx := context.Background()
3255
By(fmt.Sprintf("Validating image: %s", url))
3356

34-
extractedImage, err := extract.UnpackImage(ctx, url, name)
57+
extractedImage, err := extract.UnpackImage(ctx, url, name, sysCtx)
3558
Expect(err).ToNot(HaveOccurred())
3659
Expect(check.Check(ctx, extractedImage, check.AllChecks())).To(Succeed())
3760
extractedImage.Cleanup()

0 commit comments

Comments
 (0)