Repository navigation
Expand file tree
/
Copy pathMakefile
More file actions
103 lines (86 loc) · 3.22 KB
/
Copy pathMakefile
File metadata and controls
103 lines (86 loc) · 3.22 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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
ENV := $(shell cat .last_used_env || echo "not-set")
ENV_FILE := .env.${ENV}
-include ${ENV_FILE}
.PHONY: build
build/%:
$(MAKE) -C packages/$(notdir $@) build
.PHONY: build-and-upload
build-and-upload:build-and-upload/api
build-and-upload:build-and-upload/client-proxy
build-and-upload:build-and-upload/clean-nfs-cache
build-and-upload:build-and-upload/orchestrator
build-and-upload:build-and-upload/template-manager
build-and-upload:build-and-upload/envd
build-and-upload:build-and-upload/clickhouse-migrator
build-and-upload:build-and-upload/nomad-nodepool-apm
build-and-upload/clean-nfs-cache:
./scripts/confirm.sh $(TERRAFORM_ENVIRONMENT)
GCP_PROJECT_ID=$(GCP_PROJECT_ID) $(MAKE) -C packages/orchestrator build-and-upload/clean-nfs-cache
build-and-upload/template-manager:
./scripts/confirm.sh $(TERRAFORM_ENVIRONMENT)
GCP_PROJECT_ID=$(GCP_PROJECT_ID) $(MAKE) -C packages/orchestrator build-and-upload/template-manager
build-and-upload/orchestrator:
./scripts/confirm.sh $(TERRAFORM_ENVIRONMENT)
GCP_PROJECT_ID=$(GCP_PROJECT_ID) $(MAKE) -C packages/orchestrator build-and-upload/orchestrator
build-and-upload/clickhouse-migrator:
./scripts/confirm.sh $(TERRAFORM_ENVIRONMENT)
GCP_PROJECT_ID=$(GCP_PROJECT_ID) $(MAKE) -C packages/clickhouse build-and-upload
build-and-upload/%:
./scripts/confirm.sh $(TERRAFORM_ENVIRONMENT)
GCP_PROJECT_ID=$(GCP_PROJECT_ID) $(MAKE) -C packages/$(notdir $@) build-and-upload
.PHONY: download-public-kernels
download-public-kernels:
mkdir -p ./packages/fc-kernels
gsutil cp -r gs://e2b-artifact-binaries/kernels/* ./packages/fc-kernels/
.PHONY: download-public-firecrackers
download-public-firecrackers:
mkdir -p ./packages/fc-versions/builds/
gsutil -m cp -r gs://e2b-artifact-binaries/firecrackers/* ./packages/fc-versions/builds/
find ./packages/fc-versions/builds/ -name firecracker -exec chmod +x {} \;
.PHONY: generate
generate: generate/api generate/orchestrator generate/client-proxy generate/envd generate/db generate/shared generate/scheduling-api generate-tests generate-mocks
generate/%:
@echo "Generating code for *$(notdir $@)*"
$(MAKE) -C packages/$(notdir $@) generate
@printf "\n\n"
.PHONY: generate-tests
generate-tests: generate-tests/integration
generate-tests/%:
@echo "Generating code for *$(notdir $@)*"
$(MAKE) -C tests/$(notdir $@) generate
@printf "\n\n"
.PHONY: migrate
migrate:
$(MAKE) -C packages/db migrate
.PHONY: set-env
set-env:
@ touch .last_used_env
@ echo $(ENV) > .last_used_env
@ . ./${ENV_FILE}
.PHONY: switch-env
switch-env:
@ printf "Switching from `tput setaf 1``tput bold`$(shell cat .last_used_env)`tput sgr0` to `tput setaf 2``tput bold`$(ENV)`tput sgr0`\n\n"
$(MAKE) set-env ENV=$(ENV)
.PHONY: test
test:
go work edit -json \
| jq -r '.Use[] | select (.DiskPath | contains("packages")) | .DiskPath' \
| xargs -I{} $(MAKE) -C {} test
.PHONY: test-integration
test-integration:
$(MAKE) -C tests/integration test-shard
.PHONY: fmt
fmt:
golangci-lint fmt
.PHONY: lint
lint:
go work edit -json | jq -r '.Use[].DiskPath' | xargs -P 4 -I{} golangci-lint run {}/... --fix
.PHONY: generate-mocks
generate-mocks:
GOOS=linux mockery
.PHONY: tidy
tidy:
@scripts/golang-dependencies-integrity.sh
.PHONY: local-infra
local-infra:
$(MAKE) -C packages/local-dev local-infra