Fix source code clean up in Jenkins
[icn.git] / Makefile
1 SHELL:=/bin/bash
2 ENV:=$(CURDIR)/env
3 BMDIR:=$(CURDIR)/env/metal3
4 METAL3DIR:=$(CURDIR)/deploy/metal3/scripts
5 METAL3VMDIR:=$(CURDIR)/deploy/metal3-vm
6 BPA_OPERATOR:=$(CURDIR)/cmd/bpa-operator/
7 KUD_PATH:=$(CURDIR)/deploy/kud
8 SDWAN_VERIFIER_PATH:=$(CURDIR)/sdwan/test
9 BPA_REST_API:=$(CURDIR)/cmd/bpa-restapi-agent
10 BOOTLOADER_ENV:=$(CURDIR)/env/ubuntu/bootloader-env
11
12 help:
13         @echo "  Targets:"
14         @echo "  test             -- run unit tests"
15         @echo "  installer        -- run icn installer"
16         @echo "  verifier         -- run verifier tests for CI & CD logs"
17         @echo "  unit             -- run the unit tests"
18         @echo "  help             -- this help output"
19
20 install: package_prerequisite \
21         kud_bm_deploy_mini \
22         bmh_all \
23         bpa_op_bmh_verifier
24
25 package_prerequisite:
26          pushd $(BMDIR) && ./01_install_package.sh && popd
27
28 bmh_preinstall:
29         source user_config.sh && env && \
30         pushd $(BMDIR) && ./02_configure.sh && \
31         ./03_launch_prereq.sh && popd
32
33 bmh_clean:
34         pushd $(METAL3DIR) && ./01_metal3.sh deprovision && \
35         ./03_verify_deprovisioning.sh && ./01_metal3.sh clean && \
36         ./01_metal3.sh remove && popd
37
38 bmh_clean_host:
39         pushd $(BMDIR) && ./06_host_cleanup.sh && popd
40
41 clean_packages:
42         pushd $(BOOTLOADER_ENV) && \
43         ./02_clean_bootloader_package_req.sh --only-packages && popd
44
45 bmh_install:
46         source user_config.sh && env && \
47         pushd $(METAL3DIR) && ./01_metal3.sh launch && \
48          ./01_metal3.sh provision && ./02_verify.sh && popd
49
50 bmh_all: bmh_preinstall bmh_install
51
52 clean_all: bmh_clean \
53         bmh_clean_host \
54         kud_bm_reset \
55         clean_packages
56
57 kud_bm_deploy_mini:
58         pushd $(KUD_PATH) && ./kud_bm_launch.sh minimal && popd
59
60 kud_bm_deploy:
61         pushd $(KUD_PATH) && ./kud_bm_launch.sh all && popd
62
63 kud_bm_reset:
64         pushd $(KUD_PATH) && ./kud_bm_launch.sh reset && popd
65
66 metal3_prerequisite:
67         pushd $(METAL3VMDIR) && make bmh_install && popd
68
69 metal3_vm:
70         pushd $(METAL3VMDIR) && make bmh && popd
71
72 sdwan_verifier:
73         pushd $(SDWAN_VERIFIER_PATH) && bash sdwan_verifier.sh && popd
74
75 bpa_op_install:
76         pushd $(BPA_OPERATOR) && make docker && make deploy && popd
77
78 bpa_op_delete:
79         pushd $(BPA_OPERATOR) && make delete && popd
80
81 bpa_op_e2e_vm:
82         pushd $(BPA_OPERATOR) && make e2etest_vm && popd
83
84 bpa_op_e2e_bmh:
85         pushd $(BPA_OPERATOR) && make e2etest_bmh && popd
86
87 bpa_op_unit:
88         pushd $(BPA_OPERATOR) && make unit_test && popd
89
90 bpa_op_vm_verifier: bpa_op_install bpa_op_e2e_vm
91
92 bpa_op_bmh_verifier: bpa_op_install bpa_op_e2e_bmh
93
94 bpa_op_all: bm_all bpa_op_install
95
96 bpa_rest_api_install:
97         pushd $(BPA_REST_API) && make deploy && popd
98
99 bpa_rest_api_uninstall:
100         pushd $(BPA_REST_API) && make clean && popd
101
102 bpa_rest_api_verifier:
103         pushd $(BPA_REST_API) && make e2e_test && popd
104
105 bpa_rest_api_unit:
106         pushd $(BPA_REST_API) && make unit_test && popd
107
108 bashate:
109         bashate -i E006,E003,E002,E010,E011,E042,E043 `find . -type f -not -path './cmd/bpa-operator/vendor/*' -not -path './ci/jjb/shell/*' -name *.sh`
110
111 prerequisite:
112         pushd $(ENV) && ./cd_package_installer.sh && popd
113
114 bm_verifer: install
115
116 verify_all: prerequisite \
117         metal3_prerequisite \
118         kud_bm_deploy_mini \
119         metal3_vm \
120         bpa_op_vm_verifier \
121         bpa_rest_api_verifier
122
123 verifier: verify_all
124
125 verify_nestedk8s: prerequisite \
126         kud_bm_deploy \
127         sdwan_verifier
128
129 .PHONY: all bm_preinstall bm_install bashate
130