-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathTaskfile.yaml
More file actions
73 lines (66 loc) · 2.04 KB
/
Copy pathTaskfile.yaml
File metadata and controls
73 lines (66 loc) · 2.04 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
version: "3"
vars:
LOCALBIN: "{{.ROOT_DIR}}/bin"
CONTROLLER_GEN_VERSION: '{{ .CONTROLLER_GEN_VERSION | default "v0.21.0" }}'
CONTROLLER_GEN: "{{.LOCALBIN}}/controller-gen"
ENVTEST_VERSION: '{{ .ENVTEST_VERSION | default "v0.24.0" }}'
ENVTEST_K8S_VERSION: '{{ .ENVTEST_K8S_VERSION | default "1.36.0" }}'
ENVTEST_SETUP: "{{.LOCALBIN}}/setup-envtest"
tasks:
gen:install:
desc: Install controller-gen locally
generates:
- "{{.CONTROLLER_GEN}}"
run: once
cmds:
- mkdir -p {{.LOCALBIN}}
- GOBIN={{.LOCALBIN}} go install sigs.k8s.io/controller-tools/cmd/controller-gen@{{.CONTROLLER_GEN_VERSION}}
test:generate:
desc: gen code + manifests
deps:
- gen:install
cmds:
- task: test:gen:code
- task: test:gen:manifests
- task: test:gen:code
vars:
PATHS: ./testdata/config/...
- task: test:gen:manifests
vars:
PATHS: ./testdata/config/...
OUTPUT: ./testdata/config/crd/bases
test:gen:code:
desc: Generate deepcopy methods and CRDs for the test API
vars:
PATHS: '{{ .PATHS | default "./testdata/api/..."}}'
deps:
- gen:install
cmds:
- >
{{.CONTROLLER_GEN}} object paths={{.PATHS}}
test:gen:manifests:
desc: Generate deepcopy methods and CRDs for the test API
vars:
PATHS: '{{ .PATHS | default "./testdata/api/..."}}'
OUTPUT: '{{ .OUTPUT | default "./testdata/api/crd/bases"}}'
deps:
- gen:install
cmds:
- rm -rf {{.OUTPUT}}
- >
{{.CONTROLLER_GEN}} crd paths={{.PATHS}} output:crd:artifacts:config={{.OUTPUT}}
envtest:install:
desc: Install setup-envtest locally
generates:
- "{{.ENVTEST_SETUP}}"
run: once
cmds:
- mkdir -p {{.LOCALBIN}}
- GOBIN={{.LOCALBIN}} go install sigs.k8s.io/controller-runtime/tools/setup-envtest@{{.ENVTEST_VERSION}}
envtest:setup:
desc: Run setup-envtest
deps:
- envtest:install
cmds:
- >
{{.ENVTEST_SETUP}} use {{.ENVTEST_K8S_VERSION}} --bin-dir {{.LOCALBIN}}