-
Notifications
You must be signed in to change notification settings - Fork 284
/
Makefile
62 lines (48 loc) · 1.59 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
SHELL := bash
VERSION_VALUE ?= $(shell git rev-parse --short HEAD 2>/dev/null)
DOCKER_IMAGE_REPO ?= travisci/travis-web
DOCKER_DEST ?= $(DOCKER_IMAGE_REPO):$(VERSION_VALUE)
QUAY ?= quay.io
QUAY_IMAGE ?= $(QUAY)/$(DOCKER_IMAGE_REPO)
ifdef $$QUAY_ROBOT_HANDLE
QUAY_ROBOT_HANDLE := $$QUAY_ROBOT_HANDLE
endif
ifdef $$QUAY_ROBOT_TOKEN
QUAY_ROBOT_TOKEN := $$QUAY_ROBOT_TOKEN
endif
ifndef $$TRAVIS_BRANCH
TRAVIS_BRANCH ?= $(shell git rev-parse --abbrev-ref HEAD)
endif
BRANCH = $(shell echo "$(TRAVIS_BRANCH)" | sed 's/\//_/')
ifdef $$TRAVIS_PULL_REQUEST
TRAVIS_PULL_REQUEST := $$TRAVIS_PULL_REQUEST
endif
ifndef $$AIDA_URL
AIDA_URL ?= $$AIDA_URL
endif
DOCKER ?= docker
.PHONY: docker-build
docker-build:
$(DOCKER) build --progress=plain --pull --no-cache -t $(DOCKER_DEST) . -f Dockerfile.tcie --secret id=GITHUB_PERSONAL_TOKEN,env=GITHUB_PERSONAL_TOKEN --build-arg AIDA_URL="$(AIDA_URL)"
.PHONY: docker-login
docker-login:
$(DOCKER) login -u=$(QUAY_ROBOT_HANDLE) -p=$(QUAY_ROBOT_TOKEN) $(QUAY)
.PHONY: docker-push-latest-master
docker-push-latest-master:
$(DOCKER) tag $(DOCKER_DEST) $(QUAY_IMAGE):$(VERSION_VALUE)
$(DOCKER) push $(QUAY_IMAGE):$(VERSION_VALUE)
$(DOCKER) tag $(DOCKER_DEST) $(QUAY_IMAGE):latest
$(DOCKER) push $(QUAY_IMAGE):latest
.PHONY: docker-push-branch
docker-push-branch:
$(DOCKER) tag $(DOCKER_DEST) $(QUAY_IMAGE):$(VERSION_VALUE)-$(BRANCH)
$(DOCKER) push $(QUAY_IMAGE):$(VERSION_VALUE)-$(BRANCH)
.PHONY: ship
ship: docker-build docker-login
ifeq ($(TRAVIS_BRANCH),master)
ifeq ($(TRAVIS_PULL_REQUEST),false)
ship: docker-push-latest-master
endif
else
ship: docker-push-branch
endif