-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathMakefile.workflow
More file actions
85 lines (64 loc) · 4.39 KB
/
Makefile.workflow
File metadata and controls
85 lines (64 loc) · 4.39 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
#!/usr/bin/env make
override blackbox/framework/module/abstract/check/provision/:=*
ifeq ($(origin .FEATURES),undefined)
$(error `make` executable version "$(MAKE_VERSION)" is not supported. GNU Make 3.82 or above is required)
endif
override SHELL:=/bin/bash
ifneq ($(value SHELL),$(shell echo $$BASH))
$(error current shell executable is not supported. GNU Bash 4.3 or above is required)
endif
ifneq ($(filter github:build:blackbox:module,$(MAKECMDGOALS)),)
BLACKBOX_BUILD_BLACKBOX_MODULE=$(filter-out github:build:blackbox:module,$(filter-out debug,$(MAKECMDGOALS)))
BLACKBOX_BUILD_BLACKBOX_MODULE_NAME=$(or $(word 1,$(BLACKBOX_BUILD_BLACKBOX_MODULE)),$(error Module name is required))
endif
ifneq ($(filter github:push:blackbox:module,$(MAKECMDGOALS)),)
BLACKBOX_PUSH_BLACKBOX_MODULE=$(filter-out github:push:blackbox:module,$(filter-out debug,$(MAKECMDGOALS)))
BLACKBOX_PUSH_BLACKBOX_MODULE_NAME=$(or $(word 1,$(BLACKBOX_PUSH_BLACKBOX_MODULE)),$(error Module name is required))
endif
ifneq ($(filter github:ecr:repository:initialize,$(MAKECMDGOALS)),)
BLACKBOX_ECR_REPOSITORY_INITIALIZE=$(filter-out github:ecr:repository:initialize,$(filter-out debug,$(MAKECMDGOALS)))
BLACKBOX_ECR_REPOSITORY_INITIALIZE_REGISTRY_ID:=134148934511
BLACKBOX_ECR_REPOSITORY_INITIALIZE_REPOSITORY_NAME=$(or $(word 1,$(BLACKBOX_ECR_REPOSITORY_INITIALIZE)),$(error Repository name is required))
endif
ifneq ($(filter github:ecr:repository:build,$(MAKECMDGOALS)),)
BLACKBOX_ECR_REPOSITORY_BUILD=$(filter-out github:ecr:repository:build,$(filter-out debug,$(MAKECMDGOALS)))
BLACKBOX_ECR_REPOSITORY_BUILD_SOURCE=$(or $(word 1,$(BLACKBOX_ECR_REPOSITORY_BUILD)),$(error Repository name is required))
BLACKBOX_ECR_REPOSITORY_BUILD_DESTINATION=$(or $(word 2,$(BLACKBOX_ECR_REPOSITORY_BUILD)),$(error Repository name is required))
endif
ifneq ($(filter github:ecr:repository:charge,$(MAKECMDGOALS)),)
BLACKBOX_ECR_REPOSITORY_CHARGE=$(filter-out github:ecr:repository:charge,$(filter-out debug,$(MAKECMDGOALS)))
BLACKBOX_ECR_REPOSITORY_CHARGE_SOURCE=$(or $(word 1,$(BLACKBOX_ECR_REPOSITORY_CHARGE)),$(error Repository name is required))
BLACKBOX_ECR_REPOSITORY_CHARGE_DESTINATION=$(addprefix 134148934511.dkr.ecr.us-east-1.amazonaws.com/,$(or $(word 2,$(BLACKBOX_ECR_REPOSITORY_CHARGE)),$(error Repository name is required)))
endif
all:
$(error Nothing to do)
debug: ;@:
$(foreach variable,$(filter BLACKBOX_%,$(sort $(.VARIABLES))),$(info $(shell printf "\033[0;37m%s = %s\033[0m" "$(variable)" "$($(variable))")))
$(if $(and $(filter-out $(words $(MAKECMDGOALS)),0),$(filter-out $(words $(MAKECMDGOALS)),1)),$(info $(shell printf "\033[0;37m%s\033[0m" --)))
github\:build\:blackbox:
$(MAKE) --directory=framework/module/abstract/check/provision build
github\:build\:blackbox\:module:
$(MAKE) --directory=$(abspath $(addprefix module/,$(addprefix $(BLACKBOX_BUILD_BLACKBOX_MODULE_NAME),/check/provision))) build
github\:push\:blackbox:
$(MAKE) --directory=framework/module/abstract/check/provision push
github\:push\:blackbox\:module:
$(MAKE) --directory=$(abspath $(addprefix module/,$(addprefix $(BLACKBOX_PUSH_BLACKBOX_MODULE_NAME),/check/provision))) push
github\:ecr\:repository\:initialize:
aws ecr describe-repositories --registry-id=$(BLACKBOX_ECR_REPOSITORY_INITIALIZE_REGISTRY_ID) --repository-names $(BLACKBOX_ECR_REPOSITORY_INITIALIZE_REPOSITORY_NAME) || aws ecr create-repository --registry-id=$(BLACKBOX_ECR_REPOSITORY_INITIALIZE_REGISTRY_ID) --repository-name=$(BLACKBOX_ECR_REPOSITORY_INITIALIZE_REPOSITORY_NAME)
github\:ecr\:repository\:build:
docker buildx build --tag="$(BLACKBOX_ECR_REPOSITORY_BUILD_DESTINATION)" "$(abspath $(addprefix .github/workflows/ecr/,$(BLACKBOX_ECR_REPOSITORY_BUILD_SOURCE)))"
github\:ecr\:repository\:charge:
docker manifest inspect $(BLACKBOX_ECR_REPOSITORY_CHARGE_DESTINATION) || true
docker buildx imagetools inspect $(BLACKBOX_ECR_REPOSITORY_CHARGE_DESTINATION) || true
docker image inspect $(BLACKBOX_ECR_REPOSITORY_CHARGE_SOURCE) || docker pull $(BLACKBOX_ECR_REPOSITORY_CHARGE_SOURCE)
docker buildx imagetools inspect $(BLACKBOX_ECR_REPOSITORY_CHARGE_SOURCE) || docker image inspect $(BLACKBOX_ECR_REPOSITORY_CHARGE_SOURCE)
docker tag $(BLACKBOX_ECR_REPOSITORY_CHARGE_SOURCE) $(BLACKBOX_ECR_REPOSITORY_CHARGE_DESTINATION)
docker push $(BLACKBOX_ECR_REPOSITORY_CHARGE_DESTINATION)
prune:
docker system prune --all
%:
@:
ifneq ($(filter debug,$(MAKECMDGOALS)),)
MAKEFLAGS+=dry-run
endif
.NOTPARALLEL: