diff --git a/make/dev.mk b/make/dev.mk index a9b4f5673..25d3ea793 100644 --- a/make/dev.mk +++ b/make/dev.mk @@ -43,12 +43,12 @@ dev-deploy-e2e-local: deploy-e2e-local-to-dev-namespaces print-reg-service-link dev-deploy-e2e-local-two-members: deploy-e2e-local-to-dev-namespaces-two-members print-reg-service-link .PHONY: deploy-e2e-local-to-dev-namespaces -deploy-e2e-local-to-dev-namespaces: +deploy-e2e-local-to-dev-namespaces: check-quay-login-if-needed $(MAKE) deploy-e2e-local MEMBER_NS=${DEFAULT_MEMBER_NS} SECOND_MEMBER_MODE=false HOST_NS=${DEFAULT_HOST_NS} REGISTRATION_SERVICE_NS=${DEFAULT_HOST_NS} ENVIRONMENT=${DEV_ENVIRONMENT} E2E_TEST_EXECUTION=false $(MAKE) setup-dev-sso DEV_SSO=${DEV_SSO} .PHONY: deploy-e2e-local-to-dev-namespaces-two-members -deploy-e2e-local-to-dev-namespaces-two-members: +deploy-e2e-local-to-dev-namespaces-two-members: check-quay-login-if-needed $(MAKE) deploy-e2e-local MEMBER_NS=${DEFAULT_MEMBER_NS} MEMBER_NS_2=${DEFAULT_MEMBER_NS_2} HOST_NS=${DEFAULT_HOST_NS} REGISTRATION_SERVICE_NS=${DEFAULT_HOST_NS} ENVIRONMENT=${DEV_ENVIRONMENT} E2E_TEST_EXECUTION=false $(MAKE) setup-dev-sso DEV_SSO=${DEV_SSO} diff --git a/make/podman.mk b/make/podman.mk new file mode 100644 index 000000000..b8b2f0ae6 --- /dev/null +++ b/make/podman.mk @@ -0,0 +1,22 @@ +# WILL_PUBLISH is true when the e2e goals will publish new operator image(s) +# to quay. This enables the check to conditionally execute only when needed. +WILL_PUBLISH := false +ifneq ($(HOST_REPO_PATH),) +WILL_PUBLISH := true +endif +ifneq ($(MEMBER_REPO_PATH),) +WILL_PUBLISH := true +endif +ifneq ($(REG_REPO_PATH),) +WILL_PUBLISH := true +endif + +.PHONY: check-quay-login-if-needed +check-quay-login-if-needed: + @if [ "${WILL_PUBLISH}" = "true" -o "${PUSH_SANDBOX_IMAGE}" = "true" ]; then \ + podman login --get-login quay.io >/dev/null; \ + fi + +.PHONY: check-quay-login +check-quay-login: + @podman login --get-login quay.io >/dev/null diff --git a/make/sandbox-ui.mk b/make/sandbox-ui.mk index a485e1e55..8cebb92c1 100644 --- a/make/sandbox-ui.mk +++ b/make/sandbox-ui.mk @@ -40,7 +40,7 @@ deploy-sandbox-ui: HOST_NS=$(shell oc get projects -l app=host-operator --output deploy-sandbox-ui: REGISTRATION_SERVICE_API=https://$(shell oc get route registration-service -n ${HOST_NS} -o custom-columns=":spec.host" | tr -d '\n')/api/v1 deploy-sandbox-ui: HOST_OPERATOR_API=https://$(shell oc get route api -n ${HOST_NS} -o custom-columns=":spec.host" | tr -d '\n') deploy-sandbox-ui: RHDH=https://rhdh-${SANDBOX_UI_NS}.$(shell oc get ingress.config.openshift.io/cluster -o jsonpath='{.spec.domain}') -deploy-sandbox-ui: +deploy-sandbox-ui: check-quay-login-if-needed $(MAKE) check-sso-credentials @echo "sandbox ui will be deployed in '${SANDBOX_UI_NS}' namespace" $(MAKE) create-namespace SANDBOX_UI_NS=${SANDBOX_UI_NS} @@ -216,7 +216,7 @@ build-sandbox-ui-e2e-tests: # Run Developer Sandbox UI e2e tests image using podman .PHONY: test-sandbox-ui-in-container -test-sandbox-ui-in-container: build-sandbox-ui-e2e-tests +test-sandbox-ui-in-container: check-quay-login build-sandbox-ui-e2e-tests @echo "pushing Developer Sandbox UI image..." $(MAKE) push-sandbox-plugin @echo "running the e2e tests in podman container..." diff --git a/make/test.mk b/make/test.mk index 8b09cf01e..3c624be5b 100644 --- a/make/test.mk +++ b/make/test.mk @@ -62,7 +62,7 @@ prepare-and-deploy-e2e: prepare-e2e deploy-e2e @echo "To clean the cluster run 'make clean-e2e-resources'" .PHONY: verify-migration-and-deploy-e2e -verify-migration-and-deploy-e2e: prepare-projects e2e-deploy-latest e2e-migration-setup get-publish-and-install-operators e2e-migration-verify +verify-migration-and-deploy-e2e: check-quay-login-if-needed prepare-projects e2e-deploy-latest e2e-migration-setup get-publish-and-install-operators e2e-migration-verify .PHONY: e2e-migration-setup e2e-migration-setup: @@ -307,7 +307,7 @@ get-publish-install-and-register-operators: get-and-publish-host-operator get-an get-publish-and-install-operators: get-and-publish-host-operator create-host-resources get-and-publish-member-operator .PHONY: get-and-publish-member-operator -get-and-publish-member-operator: ksctl +get-and-publish-member-operator: check-quay-login-if-needed ksctl ifneq (${MEMBER_NS_2},"") ifneq (${MEMBER_NS_2},) $(eval MEMBER_NS_2_PARAM = -mn2 ${MEMBER_NS_2}) @@ -336,7 +336,7 @@ else endif .PHONY: get-and-publish-host-operator -get-and-publish-host-operator: ksctl +get-and-publish-host-operator: check-quay-login-if-needed ksctl ifneq (${REG_REPO_PATH},"") ifneq (${REG_REPO_PATH},) $(eval REG_REPO_PATH_PARAM = -rr ${REG_REPO_PATH})