diff --git a/magefiles/rulesengine/repos/build_service.go b/magefiles/rulesengine/repos/build_service.go index 26e10d409..e1f6e8855 100644 --- a/magefiles/rulesengine/repos/build_service.go +++ b/magefiles/rulesengine/repos/build_service.go @@ -1,7 +1,6 @@ package repos import ( - "fmt" "os" "github.com/konflux-ci/e2e-tests/magefiles/rulesengine" @@ -38,10 +37,8 @@ var BuildServiceRepoSetDefaultSettingsRule = rulesengine.Rule{Name: "General Req return nil } rctx.ComponentEnvVarPrefix = "BUILD_SERVICE" - // TODO keep only "KONFLUX_CI" option once we migrate off openshift-ci - if os.Getenv("KONFLUX_CI") == "true" { - rctx.ComponentImageTag = fmt.Sprintf("on-pr-%s", rctx.PrCommitSha) - } else { + // Option to execute the tests in Openshift CI + if os.Getenv("KONFLUX_CI") != "true" { rctx.ComponentImageTag = "redhat-appstudio-build-service-image" } return SetEnvVarsForComponentImageDeployment(rctx) diff --git a/magefiles/rulesengine/repos/common.go b/magefiles/rulesengine/repos/common.go index 6adc6ab32..02ce33b20 100644 --- a/magefiles/rulesengine/repos/common.go +++ b/magefiles/rulesengine/repos/common.go @@ -536,13 +536,31 @@ func SetupMultiPlatformTests() error { func SetEnvVarsForComponentImageDeployment(rctx *rulesengine.RuleCtx) error { componentImage := os.Getenv("COMPONENT_IMAGE") - sp := strings.Split(componentImage, "@") - if len(sp) != 2 { + + tag := rctx.ComponentImageTag + + imageData := strings.SplitN(componentImage, "@", 2) + if len(imageData) != 2 { return fmt.Errorf("component image ref expected in format 'quay.io//@sha256:', got %s", componentImage) } - os.Setenv(fmt.Sprintf("%s_IMAGE_REPO", rctx.ComponentEnvVarPrefix), sp[0]) - os.Setenv(fmt.Sprintf("%s_IMAGE_TAG", rctx.ComponentEnvVarPrefix), rctx.ComponentImageTag) + repository := imageData[0] + + // From Konflux the e2e tests will receive 2 kind of images: + // 1. quay.io/test/test@sha:1234: This images ussually comes from the Konflux snapshots + // 2. quay.io/test/test:on-pr-1234.sealights@sha:1234 This images ussually comes from a build + // that includes the Sealights instrumented code: + if tag == "" { + if repoParts := strings.SplitN(repository, ":", 2); len(repoParts) == 2 { + repository, tag = repoParts[0], repoParts[1] + } else { + tag = fmt.Sprintf("on-pr-%s", rctx.PrCommitSha) + } + } + + os.Setenv(fmt.Sprintf("%s_IMAGE_REPO", rctx.ComponentEnvVarPrefix), repository) + os.Setenv(fmt.Sprintf("%s_IMAGE_TAG", rctx.ComponentEnvVarPrefix), tag) os.Setenv(fmt.Sprintf("%s_PR_OWNER", rctx.ComponentEnvVarPrefix), rctx.PrRemoteName) os.Setenv(fmt.Sprintf("%s_PR_SHA", rctx.ComponentEnvVarPrefix), rctx.PrCommitSha) + return nil } diff --git a/magefiles/rulesengine/repos/image_controller.go b/magefiles/rulesengine/repos/image_controller.go index d2c54f15e..51bf3598c 100644 --- a/magefiles/rulesengine/repos/image_controller.go +++ b/magefiles/rulesengine/repos/image_controller.go @@ -1,7 +1,6 @@ package repos import ( - "fmt" "os" "github.com/konflux-ci/e2e-tests/magefiles/rulesengine" @@ -39,9 +38,7 @@ var ImageControllerRepoSetDefaultSettingsRule = rulesengine.Rule{Name: "General } rctx.ComponentEnvVarPrefix = "IMAGE_CONTROLLER" // TODO keep only "KONFLUX_CI" option once we migrate off openshift-ci - if os.Getenv("KONFLUX_CI") == "true" { - rctx.ComponentImageTag = fmt.Sprintf("on-pr-%s", rctx.PrCommitSha) - } else { + if os.Getenv("KONFLUX_CI") != "true" { rctx.ComponentImageTag = "redhat-appstudio-image-controller-image" } return SetEnvVarsForComponentImageDeployment(rctx) diff --git a/magefiles/rulesengine/repos/integration_service.go b/magefiles/rulesengine/repos/integration_service.go index 47bcdfc6a..58edc75e4 100644 --- a/magefiles/rulesengine/repos/integration_service.go +++ b/magefiles/rulesengine/repos/integration_service.go @@ -1,7 +1,6 @@ package repos import ( - "fmt" "os" "github.com/konflux-ci/e2e-tests/magefiles/rulesengine" @@ -39,9 +38,7 @@ var IntegrationServiceRepoSetDefaultSettingsRule = rulesengine.Rule{Name: "Gener } rctx.ComponentEnvVarPrefix = "INTEGRATION_SERVICE" // TODO keep only "KONFLUX_CI" option once we migrate off openshift-ci - if os.Getenv("KONFLUX_CI") == "true" { - rctx.ComponentImageTag = fmt.Sprintf("on-pr-%s", rctx.PrCommitSha) - } else { + if os.Getenv("KONFLUX_CI") != "true" { rctx.ComponentImageTag = "redhat-appstudio-integration-service-image" } return SetEnvVarsForComponentImageDeployment(rctx) diff --git a/magefiles/rulesengine/repos/release_service.go b/magefiles/rulesengine/repos/release_service.go index 2383df663..ab609f0ed 100644 --- a/magefiles/rulesengine/repos/release_service.go +++ b/magefiles/rulesengine/repos/release_service.go @@ -36,9 +36,8 @@ var ReleaseServiceRepoSetDefaultSettingsRule = rulesengine.Rule{Name: "General R } rctx.ComponentEnvVarPrefix = "RELEASE_SERVICE" // TODO keep only "KONFLUX_CI" option once we migrate off openshift-ci - if os.Getenv("KONFLUX_CI") == "true" { - rctx.ComponentImageTag = fmt.Sprintf("on-pr-%s", rctx.PrCommitSha) - } else { + + if os.Getenv("KONFLUX_CI") != "true" { rctx.ComponentImageTag = "redhat-appstudio-release-service-image" } //This is env variable is specified for release service