-
Notifications
You must be signed in to change notification settings - Fork 84
Improve Makefile performance and reduce spurious bundle changes #1984
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
mpryc
wants to merge
1
commit into
openshift:oadp-dev
Choose a base branch
from
mpryc:makefile_rework_for_rebasebot
base: oadp-dev
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+108
−97
Open
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -89,10 +89,14 @@ CONTAINER_TOOL ?= $(shell \ | |
else echo ""; \ | ||
fi \ | ||
) | ||
|
||
# Check container tool is available - only called by targets that need it | ||
.PHONY: check-container-tool | ||
check-container-tool: | ||
ifeq ($(shell command -v $(CONTAINER_TOOL) >/dev/null 2>&1 && echo found),) | ||
$(error The selected container tool '$(CONTAINER_TOOL)' is not available on this system. Please install it or choose a different tool.) | ||
$(error The selected container tool '$(CONTAINER_TOOL)' is not available on this system. Please install it or choose a different tool.) | ||
endif | ||
$(info Using Container Tool: $(CONTAINER_TOOL)) | ||
@echo "Using Container Tool: $(CONTAINER_TOOL)" | ||
|
||
# Setting SHELL to bash allows bash commands to be executed by recipes. | ||
# Options are set to exit when a recipe line exits non-zero or a piped command fails. | ||
|
@@ -241,25 +245,28 @@ run: check-go manifests generate fmt vet ## Run a controller from your host. | |
OC_CLI ?= $(shell which oc) | ||
|
||
# makes CLUSTER_TYPE quieter when unauthenticated | ||
CLUSTER_TYPE_SHELL := $(shell $(OC_CLI) get infrastructures cluster -o jsonpath='{.status.platform}' 2> /dev/null | tr A-Z a-z) | ||
# Use lazy evaluation (=) and timeout to avoid hanging when not connected to cluster | ||
CLUSTER_TYPE_SHELL = $(shell timeout 2 $(OC_CLI) get infrastructures cluster -o jsonpath='{.status.platform}' 2> /dev/null | tr A-Z a-z) | ||
CLUSTER_TYPE ?= $(CLUSTER_TYPE_SHELL) | ||
CLUSTER_OS = $(shell $(OC_CLI) get node -o jsonpath='{.items[0].status.nodeInfo.operatingSystem}' 2> /dev/null) | ||
CLUSTER_ARCH = $(shell $(OC_CLI) get node -o jsonpath='{.items[0].status.nodeInfo.architecture}' 2> /dev/null) | ||
CLUSTER_OS = $(shell timeout 2 $(OC_CLI) get node -o jsonpath='{.items[0].status.nodeInfo.operatingSystem}' 2> /dev/null) | ||
CLUSTER_ARCH = $(shell timeout 2 $(OC_CLI) get node -o jsonpath='{.items[0].status.nodeInfo.architecture}' 2> /dev/null) | ||
|
||
# If using podman machine, and host platform is not linux/amd64 run | ||
# - podman machine ssh sudo rpm-ostree install qemu-user-static && sudo systemctl reboot | ||
# from: https://github.com/containers/podman/issues/12144#issuecomment-955760527 | ||
# related enhancements that may remove the need to manually install qemu-user-static https://bugzilla.redhat.com/show_bug.cgi?id=2061584 | ||
DOCKER_BUILD_ARGS ?= --platform=linux/amd64 | ||
ifneq ($(CLUSTER_TYPE),) | ||
DOCKER_BUILD_ARGS = --platform=$(CLUSTER_OS)/$(CLUSTER_ARCH) | ||
endif | ||
|
||
.PHONY: docker-build | ||
docker-build: ## Build docker image with the manager. | ||
$(CONTAINER_TOOL) build --load -t $(IMG) . $(DOCKER_BUILD_ARGS) | ||
docker-build: check-container-tool ## Build docker image with the manager. | ||
@if [ -n "$(CLUSTER_TYPE)" ]; then \ | ||
$(CONTAINER_TOOL) build --load -t $(IMG) . --platform=$(CLUSTER_OS)/$(CLUSTER_ARCH); \ | ||
else \ | ||
$(CONTAINER_TOOL) build --load -t $(IMG) . $(DOCKER_BUILD_ARGS); \ | ||
fi | ||
|
||
.PHONY: docker-push | ||
docker-push: ## Push docker image with the manager. | ||
docker-push: check-container-tool ## Push docker image with the manager. | ||
$(CONTAINER_TOOL) push ${IMG} | ||
|
||
##@ Deployment | ||
|
@@ -324,8 +331,8 @@ $(ENVTEST): $(LOCALBIN) | |
.PHONY: operator-sdk | ||
OPERATOR_SDK ?= $(LOCALBIN)/$(BRANCH_VERSION)/operator-sdk | ||
operator-sdk: ## Download operator-sdk locally if necessary. | ||
ifneq ($(shell $(OPERATOR_SDK) version | cut -d'"' -f2),$(OPERATOR_SDK_VERSION)) | ||
set -e; \ | ||
ifneq ($(shell test -f $(OPERATOR_SDK) && $(OPERATOR_SDK) version 2>/dev/null | cut -d'"' -f2),$(OPERATOR_SDK_VERSION)) | ||
@set -e; \ | ||
mkdir -p $(dir $(OPERATOR_SDK)) ;\ | ||
OS=$(shell go env GOOS) && ARCH=$(shell go env GOARCH) && \ | ||
curl -sSLo $(OPERATOR_SDK) https://github.com/operator-framework/operator-sdk/releases/download/$(OPERATOR_SDK_VERSION)/operator-sdk_$${OS}_$${ARCH} ;\ | ||
|
@@ -339,6 +346,10 @@ endif | |
|
||
.PHONY: bundle | ||
bundle: manifests kustomize operator-sdk ## Generate bundle manifests and metadata, then validate generated files. | ||
@# Save the old CSV file and timestamp before regenerating | ||
@if [ -f bundle/manifests/oadp-operator.clusterserviceversion.yaml ]; then \ | ||
cp bundle/manifests/oadp-operator.clusterserviceversion.yaml /tmp/oadp-old-csv.yaml; \ | ||
fi | ||
GOFLAGS="-mod=mod" $(OPERATOR_SDK) generate kustomize manifests -q | ||
cd config/manager && GOFLAGS="-mod=mod" $(KUSTOMIZE) edit set image controller=$(IMG) | ||
GOFLAGS="-mod=mod" $(KUSTOMIZE) build config/manifests | GOFLAGS="-mod=mod" $(OPERATOR_SDK) generate bundle $(BUNDLE_GEN_FLAGS) | ||
|
@@ -347,22 +358,38 @@ bundle: manifests kustomize operator-sdk ## Generate bundle manifests and metada | |
# TODO: update CI to use generated one | ||
cp bundle.Dockerfile build/Dockerfile.bundle | ||
GOFLAGS="-mod=mod" $(OPERATOR_SDK) bundle validate ./bundle | ||
$(SED) -e 's/ createdAt: .*/$(shell grep -I '^ createdAt: ' bundle/manifests/oadp-operator.clusterserviceversion.yaml)/' bundle/manifests/oadp-operator.clusterserviceversion.yaml > bundle/manifests/oadp-operator.clusterserviceversion.yaml.tmp | ||
mv bundle/manifests/oadp-operator.clusterserviceversion.yaml.tmp bundle/manifests/oadp-operator.clusterserviceversion.yaml | ||
@# Check if the only change is the createdAt timestamp | ||
@if [ -f /tmp/oadp-old-csv.yaml ]; then \ | ||
OLD_CREATEDAT=$$(grep '^ createdAt: ' /tmp/oadp-old-csv.yaml); \ | ||
NEW_CREATEDAT=$$(grep '^ createdAt: ' bundle/manifests/oadp-operator.clusterserviceversion.yaml); \ | ||
cp bundle/manifests/oadp-operator.clusterserviceversion.yaml /tmp/oadp-new-csv-with-old-timestamp.yaml; \ | ||
$(SED) -i "s/^ createdAt: .*/$$OLD_CREATEDAT/" /tmp/oadp-new-csv-with-old-timestamp.yaml; \ | ||
if diff -q /tmp/oadp-old-csv.yaml /tmp/oadp-new-csv-with-old-timestamp.yaml >/dev/null 2>&1; then \ | ||
echo "Only createdAt changed - preserving old timestamp"; \ | ||
mv /tmp/oadp-new-csv-with-old-timestamp.yaml bundle/manifests/oadp-operator.clusterserviceversion.yaml; \ | ||
else \ | ||
echo "CSV has actual changes - keeping new timestamp"; \ | ||
fi; \ | ||
rm -f /tmp/oadp-old-csv.yaml /tmp/oadp-new-csv-with-old-timestamp.yaml; \ | ||
fi | ||
|
||
.PHONY: bundle-build | ||
bundle-build: ## Build the bundle image. | ||
$(CONTAINER_TOOL) build --load -f bundle.Dockerfile -t $(BUNDLE_IMG) . $(DOCKER_BUILD_ARGS) | ||
bundle-build: check-container-tool ## Build the bundle image. | ||
@if [ -n "$(CLUSTER_TYPE)" ]; then \ | ||
$(CONTAINER_TOOL) build --load -f bundle.Dockerfile -t $(BUNDLE_IMG) . --platform=$(CLUSTER_OS)/$(CLUSTER_ARCH); \ | ||
else \ | ||
$(CONTAINER_TOOL) build --load -f bundle.Dockerfile -t $(BUNDLE_IMG) . $(DOCKER_BUILD_ARGS); \ | ||
fi | ||
|
||
.PHONY: bundle-push | ||
bundle-push: ## Push the bundle image. | ||
bundle-push: check-container-tool ## Push the bundle image. | ||
$(MAKE) docker-push IMG=$(BUNDLE_IMG) | ||
|
||
.PHONY: opm | ||
OPM ?= $(LOCALBIN)/$(BRANCH_VERSION)/opm | ||
opm: ## Download opm locally if necessary. | ||
ifneq ($(shell $(OPM) version | cut -d'"' -f2),$(OPM_VERSION)) | ||
set -e ;\ | ||
ifneq ($(shell test -f $(OPM) && $(OPM) version 2>/dev/null | cut -d'"' -f2),$(OPM_VERSION)) | ||
@set -e ;\ | ||
mkdir -p $(dir $(OPM)) ;\ | ||
OS=$(shell go env GOOS) && ARCH=$(shell go env GOARCH) && \ | ||
curl -sSLo $(OPM) https://github.com/operator-framework/operator-registry/releases/download/$(OPM_VERSION)/$${OS}-$${ARCH}-opm ;\ | ||
|
@@ -389,12 +416,12 @@ endif | |
# This recipe invokes 'opm' in 'semver' bundle add mode. For more information on add modes, see: | ||
# https://github.com/operator-framework/community-operators/blob/7f1438c/docs/packaging-operator.md#updating-your-existing-operator | ||
.PHONY: catalog-build | ||
catalog-build: opm ## Build a catalog image. | ||
catalog-build: opm check-container-tool ## Build a catalog image. | ||
$(OPM) index add --container-tool $(CONTAINER_TOOL) --mode semver --tag $(CATALOG_IMG) --bundles $(BUNDLE_IMGS) $(FROM_INDEX_OPT) | ||
|
||
# Push the catalog image. | ||
.PHONY: catalog-push | ||
catalog-push: ## Push a catalog image. | ||
catalog-push: check-container-tool ## Push a catalog image. | ||
$(MAKE) docker-push IMG=$(CATALOG_IMG) | ||
|
||
##@ oadp specifics | ||
|
@@ -517,11 +544,12 @@ nullable-crds-config: | |
|
||
.PHONY: login-required | ||
login-required: | ||
ifeq ($(CLUSTER_TYPE),) | ||
$(error You must be logged in to a cluster to run this command) | ||
else | ||
$(info $$CLUSTER_TYPE is [${CLUSTER_TYPE}]) | ||
endif | ||
@if [ -z "$(CLUSTER_TYPE)" ]; then \ | ||
echo "Error: You must be logged in to a cluster to run this command"; \ | ||
exit 1; \ | ||
else \ | ||
echo "CLUSTER_TYPE is [$(CLUSTER_TYPE)]"; \ | ||
fi | ||
|
||
GIT_REV:=$(shell git rev-parse --short HEAD) | ||
|
||
|
@@ -710,7 +738,7 @@ catalog-test-upgrade: PREVIOUS_BUNDLE_IMAGE?=ttl.sh/oadp-operator-previous-bundl | |
catalog-test-upgrade: THIS_OPERATOR_IMAGE?=ttl.sh/oadp-operator-$(GIT_REV):$(TTL_DURATION) | ||
catalog-test-upgrade: THIS_BUNDLE_IMAGE?=ttl.sh/oadp-operator-bundle-$(GIT_REV):$(TTL_DURATION) | ||
catalog-test-upgrade: CATALOG_IMAGE?=ttl.sh/oadp-operator-catalog-$(GIT_REV):$(TTL_DURATION) | ||
catalog-test-upgrade: opm login-required ## Prepare a catalog image with two channels: PREVIOUS_CHANNEL and from current branch. For more information, check docs/developer/testing/test_oadp_version_upgrade.md | ||
catalog-test-upgrade: opm login-required check-container-tool ## Prepare a catalog image with two channels: PREVIOUS_CHANNEL and from current branch. For more information, check docs/developer/testing/test_oadp_version_upgrade.md | ||
mkdir test-upgrade && rsync -a --exclude=test-upgrade ./ test-upgrade/current | ||
git clone --depth=1 [email protected]:openshift/oadp-operator.git -b $(PREVIOUS_CHANNEL) test-upgrade/$(PREVIOUS_CHANNEL) | ||
cd test-upgrade/$(PREVIOUS_CHANNEL) && \ | ||
|
@@ -756,55 +784,51 @@ AZURE_RESOURCE_FILE ?= /var/run/secrets/ci.openshift.io/multi-stage/metadata.jso | |
AZURE_CI_JSON_CRED_FILE ?= ${CLUSTER_PROFILE_DIR}/osServicePrincipal.json | ||
AZURE_OADP_JSON_CRED_FILE ?= ${OADP_CRED_DIR}/azure-credentials | ||
|
||
ifeq ($(CLUSTER_TYPE), gcp) | ||
CI_CRED_FILE = ${CLUSTER_PROFILE_DIR}/gce.json | ||
OADP_CRED_FILE = ${OADP_CRED_DIR}/gcp-credentials | ||
OADP_BUCKET_FILE = ${OADP_CRED_DIR}/gcp-velero-bucket-name | ||
endif | ||
|
||
ifeq ($(CLUSTER_TYPE), azure4) | ||
CLUSTER_TYPE = azure | ||
endif | ||
|
||
ifeq ($(CLUSTER_TYPE), azure) | ||
CI_CRED_FILE = /tmp/ci-azure-credentials | ||
OADP_CRED_FILE = /tmp/oadp-azure-credentials | ||
OADP_BUCKET_FILE = ${OADP_CRED_DIR}/azure-velero-bucket-name | ||
endif | ||
|
||
VELERO_PLUGIN ?= ${CLUSTER_TYPE} | ||
|
||
ifeq ($(CLUSTER_TYPE), ibmcloud) | ||
VELERO_PLUGIN = aws | ||
endif | ||
|
||
KVM_EMULATION ?= true | ||
|
||
ifeq ($(CLUSTER_TYPE), openstack) | ||
KVM_EMULATION = false | ||
endif | ||
# NOTE: Cloud-specific variables (CI_CRED_FILE, OADP_CRED_FILE, OADP_BUCKET_FILE, VELERO_PLUGIN, KVM_EMULATION) | ||
# are set at runtime in test-e2e-setup and test-e2e targets to avoid evaluating CLUSTER_TYPE at parse time, | ||
# which would trigger slow cluster API calls and hang make for simple targets like 'make help'. | ||
|
||
OPENSHIFT_CI ?= true | ||
OADP_BUCKET ?= $(shell cat $(OADP_BUCKET_FILE)) | ||
# OADP_BUCKET is now read at runtime in test-e2e-setup to avoid parse-time evaluation | ||
# OADP_BUCKET ?= $(shell cat $(OADP_BUCKET_FILE)) | ||
SETTINGS_TMP=/tmp/test-settings | ||
|
||
.PHONY: test-e2e-setup | ||
test-e2e-setup: login-required build-must-gather | ||
mkdir -p $(SETTINGS_TMP) | ||
@mkdir -p $(SETTINGS_TMP) | ||
@# Set cloud-specific variables based on CLUSTER_TYPE at runtime | ||
@ACTUAL_CLUSTER_TYPE="$(CLUSTER_TYPE)"; \ | ||
[ "$$ACTUAL_CLUSTER_TYPE" = "azure4" ] && ACTUAL_CLUSTER_TYPE="azure"; \ | ||
VELERO_PLUGIN_VAL="$$ACTUAL_CLUSTER_TYPE"; \ | ||
[ "$$ACTUAL_CLUSTER_TYPE" = "ibmcloud" ] && VELERO_PLUGIN_VAL="aws"; \ | ||
KVM_EMULATION_VAL="true"; \ | ||
[ "$$ACTUAL_CLUSTER_TYPE" = "openstack" ] && KVM_EMULATION_VAL="false"; \ | ||
OADP_CRED_FILE_VAL="$(OADP_CRED_FILE)"; \ | ||
CI_CRED_FILE_VAL="$(CI_CRED_FILE)"; \ | ||
OADP_BUCKET_FILE_VAL="$(OADP_BUCKET_FILE)"; \ | ||
if [ "$$ACTUAL_CLUSTER_TYPE" = "gcp" ]; then \ | ||
CI_CRED_FILE_VAL="${CLUSTER_PROFILE_DIR}/gce.json"; \ | ||
OADP_CRED_FILE_VAL="${OADP_CRED_DIR}/gcp-credentials"; \ | ||
OADP_BUCKET_FILE_VAL="${OADP_CRED_DIR}/gcp-velero-bucket-name"; \ | ||
elif [ "$$ACTUAL_CLUSTER_TYPE" = "azure" ]; then \ | ||
CI_CRED_FILE_VAL="/tmp/ci-azure-credentials"; \ | ||
OADP_CRED_FILE_VAL="/tmp/oadp-azure-credentials"; \ | ||
OADP_BUCKET_FILE_VAL="${OADP_CRED_DIR}/azure-velero-bucket-name"; \ | ||
fi; \ | ||
TMP_DIR=$(SETTINGS_TMP) \ | ||
OPENSHIFT_CI="$(OPENSHIFT_CI)" \ | ||
PROVIDER="$(VELERO_PLUGIN)" \ | ||
PROVIDER="$$VELERO_PLUGIN_VAL" \ | ||
AZURE_RESOURCE_FILE="$(AZURE_RESOURCE_FILE)" \ | ||
CI_JSON_CRED_FILE="$(AZURE_CI_JSON_CRED_FILE)" \ | ||
OADP_JSON_CRED_FILE="$(AZURE_OADP_JSON_CRED_FILE)" \ | ||
OADP_CRED_FILE="$(OADP_CRED_FILE)" \ | ||
BUCKET="$(OADP_BUCKET)" \ | ||
TARGET_CI_CRED_FILE="$(CI_CRED_FILE)" \ | ||
OADP_CRED_FILE="$$OADP_CRED_FILE_VAL" \ | ||
BUCKET="$$(cat $$OADP_BUCKET_FILE_VAL 2>/dev/null || echo '')" \ | ||
TARGET_CI_CRED_FILE="$$CI_CRED_FILE_VAL" \ | ||
VSL_REGION="$(VSL_REGION)" \ | ||
BSL_REGION="$(BSL_REGION)" \ | ||
BSL_AWS_PROFILE="$(BSL_AWS_PROFILE)" \ | ||
SKIP_MUST_GATHER="$(SKIP_MUST_GATHER)" \ | ||
/bin/bash "tests/e2e/scripts/$(CLUSTER_TYPE)_settings.sh" | ||
SKIP_MUST_GATHER="$(SKIP_MUST_GATHER)" \ | ||
/bin/bash "tests/e2e/scripts/$${ACTUAL_CLUSTER_TYPE}_settings.sh" | ||
|
||
VELERO_INSTANCE_NAME ?= velero-test | ||
ARTIFACT_DIR ?= /tmp | ||
|
@@ -816,55 +840,42 @@ HCP_EXTERNAL_ARGS ?= "" | |
TEST_CLI ?= false | ||
SKIP_MUST_GATHER ?= false | ||
TEST_UPGRADE ?= false | ||
TEST_FILTER = (($(shell echo '! aws && ! gcp && ! azure && ! ibmcloud' | \ | ||
$(SED) -r "s/[&]* [!] $(CLUSTER_TYPE)|[!] $(CLUSTER_TYPE) [&]*//")) || $(CLUSTER_TYPE)) | ||
#TEST_FILTER := $(shell echo '! aws && ! gcp && ! azure' | $(SED) -r "s/[&]* [!] $(CLUSTER_TYPE)|[!] $(CLUSTER_TYPE) [&]*//") | ||
ifeq ($(TEST_VIRT),true) | ||
TEST_FILTER += && (virt) | ||
else | ||
TEST_FILTER += && (! virt) | ||
endif | ||
ifeq ($(TEST_UPGRADE),true) | ||
TEST_FILTER += && (upgrade) | ||
else | ||
TEST_FILTER += && (! upgrade) | ||
endif | ||
ifeq ($(TEST_HCP),true) | ||
TEST_FILTER += && (hcp) | ||
else | ||
TEST_FILTER += && (! hcp) | ||
endif | ||
ifeq ($(TEST_HCP_EXTERNAL),true) | ||
TEST_FILTER += && (hcp_external) | ||
HCP_EXTERNAL_ARGS = -hc_backup_restore_mode=external -hc_name=$(HC_NAME) | ||
else | ||
TEST_FILTER += && (! hcp_external) | ||
endif | ||
ifeq ($(TEST_CLI),true) | ||
TEST_FILTER += && (cli) | ||
else | ||
TEST_FILTER += && (! cli) | ||
endif | ||
|
||
# NOTE: TEST_FILTER and HCP_EXTERNAL_ARGS are computed at runtime in test-e2e target | ||
# to avoid parse-time evaluation of CLUSTER_TYPE. | ||
|
||
.PHONY: test-e2e | ||
test-e2e: test-e2e-setup install-ginkgo ## Run E2E tests against OADP operator installed in cluster. For more information, check docs/developer/testing/TESTING.md | ||
@ACTUAL_CLUSTER_TYPE="$(CLUSTER_TYPE)"; \ | ||
[ "$$ACTUAL_CLUSTER_TYPE" = "azure4" ] && ACTUAL_CLUSTER_TYPE="azure"; \ | ||
BASE_FILTER=$$(echo '! aws && ! gcp && ! azure && ! ibmcloud' | $(SED) -r "s/[&]* [!] $$ACTUAL_CLUSTER_TYPE|[!] $$ACTUAL_CLUSTER_TYPE [&]*//"); \ | ||
TEST_FILTER_VAL="(($$BASE_FILTER) || $$ACTUAL_CLUSTER_TYPE)"; \ | ||
[ "$(TEST_VIRT)" = "true" ] && TEST_FILTER_VAL="$$TEST_FILTER_VAL && (virt)" || TEST_FILTER_VAL="$$TEST_FILTER_VAL && (! virt)"; \ | ||
[ "$(TEST_UPGRADE)" = "true" ] && TEST_FILTER_VAL="$$TEST_FILTER_VAL && (upgrade)" || TEST_FILTER_VAL="$$TEST_FILTER_VAL && (! upgrade)"; \ | ||
[ "$(TEST_HCP)" = "true" ] && TEST_FILTER_VAL="$$TEST_FILTER_VAL && (hcp)" || TEST_FILTER_VAL="$$TEST_FILTER_VAL && (! hcp)"; \ | ||
[ "$(TEST_HCP_EXTERNAL)" = "true" ] && TEST_FILTER_VAL="$$TEST_FILTER_VAL && (hcp_external)" || TEST_FILTER_VAL="$$TEST_FILTER_VAL && (! hcp_external)"; \ | ||
[ "$(TEST_CLI)" = "true" ] && TEST_FILTER_VAL="$$TEST_FILTER_VAL && (cli)" || TEST_FILTER_VAL="$$TEST_FILTER_VAL && (! cli)"; \ | ||
KVM_EMULATION_VAL="true"; \ | ||
[ "$$ACTUAL_CLUSTER_TYPE" = "openstack" ] && KVM_EMULATION_VAL="false"; \ | ||
HCP_EXT_ARGS=""; \ | ||
[ "$(TEST_HCP_EXTERNAL)" = "true" ] && HCP_EXT_ARGS="-hc_backup_restore_mode=external -hc_name=$(HC_NAME)"; \ | ||
ginkgo run -mod=mod tests/e2e/ -- \ | ||
-settings=$(SETTINGS_TMP)/oadpcreds \ | ||
-provider=$(CLUSTER_TYPE) \ | ||
-provider=$$ACTUAL_CLUSTER_TYPE \ | ||
-credentials=$(OADP_CRED_FILE) \ | ||
-ci_cred_file=$(CI_CRED_FILE) \ | ||
-velero_namespace=$(OADP_TEST_NAMESPACE) \ | ||
-velero_instance_name=$(VELERO_INSTANCE_NAME) \ | ||
-artifact_dir=$(ARTIFACT_DIR) \ | ||
-kvm_emulation=$(KVM_EMULATION) \ | ||
-kvm_emulation=$$KVM_EMULATION_VAL \ | ||
-hco_upstream=$(HCO_UPSTREAM) \ | ||
-skipMustGather=$(SKIP_MUST_GATHER) \ | ||
-skipMustGather=$(SKIP_MUST_GATHER) \ | ||
--ginkgo.vv \ | ||
--ginkgo.no-color=$(OPENSHIFT_CI) \ | ||
--ginkgo.label-filter="$(TEST_FILTER)" \ | ||
--ginkgo.label-filter="$$TEST_FILTER_VAL" \ | ||
--ginkgo.junit-report="$(ARTIFACT_DIR)/junit_report.xml" \ | ||
--ginkgo.timeout=2h \ | ||
$(HCP_EXTERNAL_ARGS) \ | ||
$$HCP_EXT_ARGS \ | ||
$(GINKGO_ARGS) | ||
|
||
.PHONY: test-e2e-cleanup | ||
|
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just noting that sed -i would work here only with gsed on macos hence the prior
>
+mv
oadp-operator/Makefile
Lines 422 to 438 in b9229e4
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Anyone w macos once installing gsed should be good to go.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@kaovilai that part was not chaged (discovery of SED on MacOS X), could you please check if the reworked Makefile requires some changes to work in it, or we are fine here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we are fine here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
just trailing notes