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