-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathMakefile
83 lines (69 loc) · 2.52 KB
/
Makefile
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
# TAG?=latest
IMAGE_PREFIX:=kayuii
IMAGE_TAG:=chia-plotter
TARGET_IMAGE_PRD=$(IMAGE_PREFIX)/$(IMAGE_TAG)
ifndef CIRCLE_TAG
TAG_PREFIX:="chiapos-v"
else
TAG_PREFIX:=$(shell echo $(CIRCLE_TAG) | sed 's/-v[0-9.]*/-v/')
endif
TAG := $(shell git describe --tags --abbrev=0 --match '${TAG_PREFIX}*')
VERSION := $(shell echo $(TAG) | sed 's/^${TAG_PREFIX}//')
COMMIT := $(shell git rev-parse HEAD)
SHORTCOMMIT := $(shell echo $(COMMIT) | cut -c1-7)
RELEASE := $(shell git describe --tags --match '${TAG_PREFIX}*' \
| sed 's/^${TAG_PREFIX}//' \
| sed 's/^[^-]*-//' \
| sed 's/-/./')
BRANCH := $(shell git rev-parse --abbrev-ref HEAD)
ifeq ("$(BRANCH)", "master")
TARGET_IMAGE = $(shell echo "${TARGET_IMAGE_PRD}:latest")
else
TARGET_IMAGE = $(shell echo "${TARGET_IMAGE_PRD}:${TAG}")
endif
all: chiapos chia fastpos
echo:
@echo ""
@echo "Make echo"
@echo TAG $(TAG)
@echo COMMIT $(COMMIT)
@echo TAG_PREFIX $(TAG_PREFIX)
@echo VERSION $(VERSION)
@echo SHORTCOMMIT $(SHORTCOMMIT)
@echo RELEASE $(RELEASE)
@echo TARGET_IMAGE $(TARGET_IMAGE)
tag:
$(eval BRANCH := $(shell git rev-parse --abbrev-ref HEAD))
$(eval LASTNUM := $(shell echo $(TAG) \
| sed -E "s/.*[^0-9]([0-9]+)$$/\1/"))
$(eval NEXTNUM=$(shell echo $$(($(LASTNUM)+1))))
$(eval NEXTTAG=$(shell echo $(TAG) | sed "s/$(LASTNUM)$$/$(NEXTNUM)/"))
if [ "$(TAG)" = "$(git describe --tags --match 'v*')" ]; then \
echo "$(SHORTCOMMIT) on $(BRANCH) is already tagged as $(TAG)"; \
exit 1; \
fi
if [ "$(BRANCH)" != "master" ] && \
! [ "$(BRANCH)" =~ ^chiapos- ]; then \
echo Cannot tag $(BRANCH); \
exit 1; \
fi
@echo Tagging Git branch $(BRANCH)
git tag $(NEXTTAG)
@echo run \'git push origin $(NEXTTAG)\' to push to GitHub.
master: echo
cd "chia/chiapos/"; \
docker build --build-arg CHIAPOS=main --build-arg BUILD_PROOF_OF_SPACE_STATICALLY=ON -f Dockerfile -t ${TARGET_IMAGE} . ;
chiapos: echo
cd "chia/chiapos/"; \
docker build --build-arg CHIAPOS=$(VERSION) -f Dockerfile -t ${TARGET_IMAGE} . ;
fastpos: echo
cd "chia/fastpos/"; \
docker build -f Dockerfile.ubuntu -t ${TARGET_IMAGE} . ;
chia: echo
cd "chia/chia/"; \
docker build --build-arg CHIA_VER=$(VERSION) -f Dockerfile -t ${TARGET_IMAGE} . ;
test:
docker run -it --rm ${TARGET_IMAGE} bash -c "./ProofOfSpace -k 21 -f \"plot.dat\" -i \"7e1392f6b7a2d113f8fb685a7409c81211748c335e87decf348a4345e07dcb2b\" create && echo \"4c881491d57d0b8817302cb6ce23ff52 plot.dat\" | md5sum -c - ";
push:
docker push ${TARGET_IMAGE} ;
.PHONY: chiapos chia tag master fastpos