forked from jakzal/phpqa
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
48 lines (39 loc) · 1.77 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
PHP_VERSIONS := 7.1 7.2
PHP_VERSION ?= $(lastword $(sort $(PHP_VERSIONS)))
default: build
build: build-latest build-alpine
.PHONY: build
build-latest: BUILD_TAG ?= jakzal/phpqa:latest
build-latest: $(PHP_VERSION)/debian/Dockerfile
cd $(PHP_VERSION)/debian && docker build -t $(BUILD_TAG) .
.PHONY: build-latest
build-alpine: BUILD_TAG ?= jakzal/phpqa:alpine
build-alpine: $(PHP_VERSION)/alpine/Dockerfile
cd $(PHP_VERSION)/alpine && docker build -t $(BUILD_TAG) .
.PHONY: build-alpine
NIGHTLY_TAG := jakzal/phpqa-nightly:$(shell date +%y%m%d)
build-nightly-latest: $(PHP_VERSION)/debian/Dockerfile
cd $(PHP_VERSION)/debian && docker build -t $(NIGHTLY_TAG) .
@docker login -u jakzal -p ${DOCKER_HUB_PASSWORD}
docker push $(NIGHTLY_TAG)
.PHONY: build-nightly-latest
NIGHTLY_ALPINE_TAG := jakzal/phpqa-nightly:$(shell date +%y%m%d)-alpine
build-nightly-alpine: $(PHP_VERSION)/alpine/Dockerfile
cd $(PHP_VERSION)/alpine && docker build -t $(NIGHTLY_ALPINE_TAG) .
@docker login -u jakzal -p ${DOCKER_HUB_PASSWORD}
docker push $(NIGHTLY_ALPINE_TAG)
.PHONY: build-nightly-alpine
generate: generate-alpine generate-debian
.PHONY: generate
generate-alpine generate-debian: Dockerfile-alpine Dockerfile-debian
for php_version in $(PHP_VERSIONS); do \
mkdir -p $$php_version/$(subst generate-,,$@) && \
cp tools.json tools.php $$php_version/$(subst generate-,,$@) && \
cat "Dockerfile-$(subst generate-,,$@)" | sed -e 's#\(FROM php:\)[^\-]*\(-.*\)#\1'$$php_version'\2#g' > $$php_version/$(subst generate-,,$@)/Dockerfile; \
done
.PHONY: generate-alpine generate-debian
$(PHP_VERSIONS:%=%/alpine/Dockerfile): generate-alpine
$(PHP_VERSIONS:%=%/debian/Dockerfile): generate-debian
$(PHP_VERSIONS:%=%/alpine): generate-alpine
$(PHP_VERSIONS:%=%/debian): generate-debian
$(PHP_VERSIONS): generate