-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathMakefile
More file actions
36 lines (29 loc) · 1.11 KB
/
Makefile
File metadata and controls
36 lines (29 loc) · 1.11 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
IMAGE_NAME = mjf_workflow
VERSION := $(shell cat .VERSION)
TAG1 = mjfos2r/$(IMAGE_NAME):$(VERSION)
TAG2 = mjfos2r/$(IMAGE_NAME):latest
CONTAINERS_FILE = containers.txt
CONTAINERS = $(shell cat $(CONTAINERS_FILE) 2>/dev/null | grep -v "^$$" | tr -d ' \t\r')
all: | check tag
build-containers: refresh-modules img-build-all
refresh-modules: clean-containers-file generate-containers-list
check:
find . -name '.venv' -prune -o -name '.git' -prune -o -regex '.*/*.wdl' -print0 | xargs -0 miniwdl check
find . -name '.venv' -prune -o -name '.git' -prune -o -regex '.*\.\(ya?ml\)' -print0 | xargs -0 yamllint -d relaxed
tag:
git tag -s v$(VERSION) -m "Workflow version $(VERSION)"
git push origin tag v$(VERSION)
generate-containers-list:
find . -maxdepth 1 -type d -name "[a-z]*" -not -name ".git" -printf "%f\n" |\
sort |\
uniq > $(CONTAINERS_FILE)
@echo "Generated list of containers to build in $(CONTAINERS_FILE)"
img-build-all:
for dir in $(CONTAINERS); do \
echo begin $$dir; \
(cd $$dir; ${MAKE}); \
echo end $$dir; \
echo ==========; \
done
clean-containers-file:
rm -f $(CONTAINERS_FILE)