-
Notifications
You must be signed in to change notification settings - Fork 2
/
Makefile
85 lines (66 loc) · 2.3 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
84
85
SHELL := bash
VERSION_VALUE ?= $(shell git rev-parse --short HEAD 2>/dev/null)
DOCKER_IMAGE_REPO ?= travisci/travis-scanner
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 $$PLATFORM_TYPE
PLATFORM_TYPE ?= $$PLATFORM_TYPE
endif
ifndef $$RUBYENCODER_PROJECT_ID
RUBYENCODER_PROJECT_ID ?= $$RUBYENCODER_PROJECT_ID
endif
ifndef $$RUBYENCODER_PROJECT_KEY
RUBYENCODER_PROJECT_KEY ?= $$RUBYENCODER_PROJECT_KEY
endif
ifeq ($(PLATFORM_TYPE), enterprise)
ifeq ($(RUBYENCODER_PROJECT_ID),)
$(error RUBYENCODER_PROJECT_ID not set correctly.)
endif
ifeq ($(RUBYENCODER_PROJECT_KEY),)
$(error RUBYENCODER_PROJECT_KEY not set correctly.)
endif
BUILD_ARGUMENTS = --build-arg RUBYENCODER_PROJECT_ID="$(RUBYENCODER_PROJECT_ID)" --build-arg RUBYENCODER_PROJECT_KEY="$(RUBYENCODER_PROJECT_KEY)" --build-arg SSH_KEY="$$(cat ~/.ssh/id_rsa)"
else
PLATFORM_TYPE = hosted
BUILD_ARGUMENTS =
endif
DOCKER ?= docker
.PHONY: docker-build
docker-build:
DOCKER_BUILDKIT=1 $(DOCKER) build --no-cache --pull --progress=plain --build-arg PLATFORM_TYPE="$(PLATFORM_TYPE)" $(BUILD_ARGUMENTS) --build-arg bundle_gems__contribsys__com=$(BUNDLE_GEMS__CONTRIBSYS__COM) -t $(DOCKER_DEST) .
.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