github.com/rancher/elemental/tests@v0.0.0-20240517125144-ae048c615b3f/Makefile (about) 1 ROOT_DIR:=$(realpath $(PWD)/..) 2 IPXE:=$(ROOT_DIR)/install.ipxe 3 ISO:=$(shell file -Ls $(ROOT_DIR)/*.iso 2>/dev/null | awk -F':' '/boot sector/ { print $$1 }') 4 5 # Define Ginkgo timeout for the tests 6 GINKGO_TIMEOUT?=3600 7 ifdef VM_NUMBERS 8 ifeq ($(shell expr $(VM_NUMBERS) \> 50), 1) 9 GINKGO_TIMEOUT=7200 10 endif 11 endif 12 ifeq ($(TEST_TYPE),multi) 13 GINKGO_TIMEOUT=10800 14 endif 15 16 extract_kernel_init_squash: 17 @./scripts/get-boot-files-for-pxe $(ISO) 18 19 ipxe: 20 @VAR=$(notdir $(ISO)); \ 21 echo "#!ipxe" > $(IPXE); \ 22 echo "set arch amd64" >> $(IPXE); \ 23 echo "set url tftp://10.0.2.2/$${VAR##*/}" >> $(IPXE); \ 24 echo "set kernel $${VAR/\.iso/-linux}" >> $(IPXE); \ 25 echo "set initrd $${VAR/\.iso/-initrd}" >> $(IPXE); \ 26 echo "set rootfs $${VAR/\.iso/-squashfs}" >> $(IPXE); \ 27 echo "# set config http://example.com/machine-config" >> $(IPXE); \ 28 echo "# set cmdline cos.setup=/run/initramfs/live/cloud-config extra.values=1" >> $(IPXE); \ 29 echo "initrd \$${url}/\$${initrd}" >> $(IPXE); \ 30 echo "chain --autofree --replace \$${url}/\$${kernel} initrd=\$${initrd} ip=dhcp rd.cos.disable root=live:\$${url}/\$${rootfs} stages.initramfs[0].commands[0]=\"curl -k \$${config} > /run/initramfs/live/livecd-cloud-config.yaml\" console=tty1 console=ttyS0 \$${cmdline}" >> $(IPXE) 31 32 deps: 33 @go install -mod=mod github.com/onsi/ginkgo/v2/ginkgo 34 @go install -mod=mod github.com/onsi/gomega 35 @go mod tidy 36 37 # Generate tests description file 38 generate-readme: 39 @./scripts/generate-readme > README.md 40 41 # Qase commands 42 create-qase-run: deps 43 @go run qase/qase_cmd.go -create 44 45 delete-qase-run: deps 46 @go run qase/qase_cmd.go -delete 47 48 publish-qase-run: deps 49 @go run qase/qase_cmd.go -publish 50 51 # E2E tests 52 e2e-airgap-rancher: deps 53 ginkgo --label-filter airgap-rancher -r -v ./e2e 54 55 e2e-bootstrap-node: deps 56 ginkgo --timeout $(GINKGO_TIMEOUT)s --label-filter bootstrap -r -v ./e2e 57 58 e2e-backup-restore: deps 59 ginkgo --label-filter test-backup-restore -r -v ./e2e 60 61 e2e-check-app: deps 62 ginkgo --label-filter check-app -r -v ./e2e 63 64 e2e-configure-rancher: deps 65 ginkgo --label-filter configure -r -v ./e2e 66 67 e2e-get-logs: deps 68 ginkgo --label-filter logs -r -v ./e2e 69 70 e2e-install-app: deps 71 ginkgo --label-filter install-app -r -v ./e2e 72 73 e2e-install-backup-restore: deps 74 ginkgo --label-filter install-backup-restore -r -v ./e2e 75 76 e2e-install-chartmuseum: 77 sudo ./scripts/deploy-chartmuseum $(OPERATOR_REPO) 78 79 e2e-install-rancher: deps 80 ginkgo --label-filter install -r -v ./e2e 81 82 e2e-iso-image: deps 83 ginkgo --label-filter iso-image -r -v ./e2e 84 85 e2e-multi-cluster: deps 86 ginkgo --timeout $(GINKGO_TIMEOUT)s --label-filter multi-cluster -r -v ./e2e 87 88 e2e-reset: deps 89 ginkgo --label-filter reset -r -v ./e2e 90 91 e2e-prepare-archive: deps 92 ginkgo --label-filter prepare-archive -r -v ./e2e 93 94 e2e-ui-rancher: deps 95 ginkgo --label-filter ui -r -v ./e2e 96 97 e2e-uninstall-operator: 98 ginkgo --label-filter uninstall-operator -r -v ./e2e 99 100 e2e-upgrade-node: deps 101 ginkgo --label-filter upgrade-node -r -v ./e2e 102 103 e2e-upgrade-operator: deps 104 ginkgo --label-filter upgrade-operator -r -v ./e2e 105 106 e2e-upgrade-rancher-manager: deps 107 ginkgo --label-filter upgrade-rancher-manager -r -v ./e2e 108 109 start-cypress-tests: 110 @./scripts/start-cypress-tests