github.com/oam-dev/kubevela@v1.9.11/makefiles/e2e.mk (about)

     1  .PHONY: e2e-setup-core-pre-hook
     2  e2e-setup-core-pre-hook:
     3  	sh ./hack/e2e/modify_charts.sh
     4  
     5  .PHONY: e2e-setup-core-post-hook
     6  e2e-setup-core-post-hook:
     7  	kubectl wait --for=condition=Available deployment/kubevela-vela-core -n vela-system --timeout=180s
     8  	helm install kruise https://github.com/openkruise/charts/releases/download/kruise-1.1.0/kruise-1.1.0.tgz --set featureGates="PreDownloadImageForInPlaceUpdate=true" --set daemon.socketLocation=/run/k3s/containerd/
     9  	kill -9 $(lsof -it:9098) || true
    10  	go run ./e2e/addon/mock &
    11  	bin/vela addon enable ./e2e/addon/mock/testdata/fluxcd
    12  	bin/vela addon enable ./e2e/addon/mock/testdata/terraform
    13  	bin/vela addon enable ./e2e/addon/mock/testdata/terraform-alibaba ALICLOUD_ACCESS_KEY=xxx ALICLOUD_SECRET_KEY=yyy ALICLOUD_REGION=cn-beijing
    14  
    15  	timeout 600s bash -c -- 'while true; do kubectl get ns flux-system; if [ $$? -eq 0 ] ; then break; else sleep 5; fi;done'
    16  	kubectl wait --for=condition=Ready pod -l app.kubernetes.io/name=vela-core,app.kubernetes.io/instance=kubevela -n vela-system --timeout=600s
    17  	kubectl wait --for=condition=Ready pod -l app=source-controller -n flux-system --timeout=600s
    18  	kubectl wait --for=condition=Ready pod -l app=helm-controller -n flux-system --timeout=600s
    19  
    20  .PHONY: e2e-setup-core-wo-auth
    21  e2e-setup-core-wo-auth:
    22  	helm upgrade --install                          \
    23  	    --create-namespace                          \
    24  	    --namespace vela-system                     \
    25  	    --set image.pullPolicy=IfNotPresent         \
    26  	    --set image.repository=vela-core-test       \
    27  	    --set applicationRevisionLimit=5            \
    28  	    --set optimize.disableComponentRevision=false        \
    29  	    --set image.tag=$(GIT_COMMIT)               \
    30  	    --wait kubevela ./charts/vela-core
    31  
    32  .PHONY: e2e-setup-core-w-auth
    33  e2e-setup-core-w-auth:
    34  	helm upgrade --install                              \
    35  	    --create-namespace                              \
    36  	    --namespace vela-system                         \
    37  	    --set image.pullPolicy=IfNotPresent             \
    38  	    --set image.repository=vela-core-test           \
    39  	    --set applicationRevisionLimit=5                \
    40  	    --set optimize.disableComponentRevision=false   \
    41  	    --set image.tag=$(GIT_COMMIT)                   \
    42  	    --wait kubevela                                 \
    43  	    ./charts/vela-core                              \
    44  	    --set authentication.enabled=true               \
    45  	    --set authentication.withUser=true              \
    46  	    --set authentication.groupPattern=*             \
    47  	    --set featureGates.zstdResourceTracker=true     \
    48  	    --set featureGates.zstdApplicationRevision=true \
    49  	    --set featureGates.validateComponentWhenSharding=true \
    50  	    --set multicluster.clusterGateway.enabled=true \
    51  	    --set sharding.enabled=true
    52  	kubectl get deploy kubevela-vela-core -oyaml -n vela-system | \
    53  		sed 's/schedulable-shards=/shard-id=shard-0/g' | \
    54  		sed 's/instance: kubevela/instance: kubevela-shard/g' | \
    55  		sed 's/shard-id: master/shard-id: shard-0/g' | \
    56  		sed 's/name: kubevela/name: kubevela-shard/g' | \
    57  		kubectl apply -f -
    58  	kubectl wait deployment -n vela-system kubevela-shard-vela-core --for condition=Available=True --timeout=90s
    59  
    60  
    61  .PHONY: e2e-setup-core
    62  e2e-setup-core: e2e-setup-core-pre-hook e2e-setup-core-wo-auth e2e-setup-core-post-hook
    63  
    64  .PHONY: e2e-setup-core-auth
    65  e2e-setup-core-auth: e2e-setup-core-pre-hook e2e-setup-core-w-auth e2e-setup-core-post-hook
    66  
    67  .PHONY: e2e-api-test
    68  e2e-api-test:
    69  	# Run e2e test
    70  	ginkgo -v -skipPackage capability,setup,application -r e2e
    71  	ginkgo -v -r e2e/application
    72  
    73  
    74  .PHONY: e2e-test
    75  e2e-test:
    76  	# Run e2e test
    77  	ginkgo -v ./test/e2e-test
    78  	@$(OK) tests pass
    79  
    80  .PHONY: e2e-addon-test
    81  e2e-addon-test:
    82  	cp bin/vela /tmp/
    83  	ginkgo -v ./test/e2e-addon-test
    84  	@$(OK) tests pass
    85  
    86  .PHONY: e2e-multicluster-test
    87  e2e-multicluster-test:
    88  	go test -v -coverpkg=./... -coverprofile=/tmp/e2e_multicluster_test.out ./test/e2e-multicluster-test
    89  	@$(OK) tests pass
    90  
    91  .PHONY: e2e-cleanup
    92  e2e-cleanup:
    93  	# Clean up
    94  	rm -rf ~/.vela
    95  
    96  .PHONY: end-e2e-core
    97  end-e2e-core:
    98  	sh ./hack/e2e/end_e2e_core.sh
    99  
   100  .PHONY: end-e2e-core-shards
   101  end-e2e-core-shards: end-e2e-core
   102  	CORE_NAME=kubevela-shard sh ./hack/e2e/end_e2e_core.sh
   103  
   104  .PHONY: end-e2e
   105  end-e2e:
   106  	sh ./hack/e2e/end_e2e.sh