-
Notifications
You must be signed in to change notification settings - Fork 4.7k
/
Makefile
114 lines (100 loc) · 3.09 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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
all: build
.PHONY: all
# Include the library makefile
include $(addprefix ./vendor/github.com/openshift/build-machinery-go/make/, \
golang.mk \
targets/openshift/bindata.mk \
targets/openshift/images.mk \
targets/openshift/deps.mk \
)
IMAGE_REGISTRY :=registry.ci.openshift.org
# This will call a macro called "build-image" which will generate image specific targets based on the parameters:
# $0 - macro name
# $1 - target name
# $2 - image ref
# $3 - Dockerfile path
# $4 - context directory for image build
$(call build-image,openshift-tests,$(IMAGE_REGISTRY)/ocp/4.6:tests,./images/tests/Dockerfile.rhel,.)
# Old-skool build tools.
#
# Targets (see each target for more information):
# all: Build code.
# build: Build code.
# check: Run verify, build, unit tests and cmd tests.
# test: Run all tests.
# run: Run all-in-one server
# clean: Clean up.
# Tests run using `make` are most often run by the CI system, so we are OK to
# assume the user wants jUnit output and will turn it off if they don't.
JUNIT_REPORT ?= true
build-docs:
hack/generate-docs.sh
.PHONY: build-docs
openshift-tests: GO_BUILD_PACKAGES :=./cmd/openshift-tests
openshift-tests: build
.PHONY: openshift-tests
# run repo-specific checks.
#
# Example:
# make verify-origin
verify-origin:
hack/verify-jsonformat.sh
hack/verify-generated.sh
hack/verify-tls-ownership.sh
.PHONY: verify-origin
verify: verify-origin
# Update all generated artifacts.
#
# Example:
# make update
update: update-tls-ownership update-bindata
hack/update-generated.sh
.PHONY: update
# Update TLS artifacts
#
# Example:
# make update-tls-ownership
update-tls-ownership:
hack/update-tls-ownership.sh
.PHONY: update-tls-ownership
# Update external examples
#
# Example:
# make update-examples
update-examples:
hack/update-external-examples.sh
$(MAKE) update-bindata
.PHONY: update-examples
# Run tools tests.
#
# Example:
# make test-tools
test-tools:
hack/test-tools.sh
.PHONY: test-tools
# Run extended tests.
#
# Args:
# SUITE: Which Bash entrypoint under test/extended/ to use. Don't include the
# ending `.sh`. Ex: `core`.
# FOCUS: Literal string to pass to `--ginkgo.focus=`
# The FOCUS env variable is handled by the respective suite scripts.
#
# Example:
# make test-extended SUITE=core
# make test-extended SUITE=conformance FOCUS=pods
#
SUITE ?= conformance
test: test-tools
test/extended/$(SUITE).sh
.PHONY: test
# This will call a macro called "add-bindata" which will generate bindata specific targets based on the parameters:
# $0 - macro name
# $1 - target suffix
# $2 - input dirs
# $3 - prefix
# $4 - pkg
# $5 - output
# It will generate targets {update,verify}-bindata-$(1) logically grouping them in unsuffixed versions of these targets
# and also hooked into {update,verify}-generated for broader integration.
$(call add-bindata,bindata,-ignore ".*\.(go|md)$$$$" examples/db-templates examples/image-streams examples/sample-app examples/quickstarts/... examples/hello-openshift examples/jenkins/... examples/quickstarts/cakephp-mysql.json test/extended/testdata/... e2echart,testextended,testdata,test/extended/testdata/bindata.go)