This repository has been archived by the owner on Aug 24, 2023. It is now read-only.
forked from gravitational/teleport-plugins
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
117 lines (97 loc) · 3.1 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
115
116
117
.PHONY: access-slack
access-slack:
make -C access/slack
.PHONY: access-jira
access-jira:
make -C access/jira
.PHONY: access-mattermost
access-mattermost:
make -C access/mattermost
.PHONY: access-pagerduty
access-pagerduty:
make -C access/pagerduty
.PHONY: access-gitlab
access-gitlab:
make -C access/gitlab
.PHONY: access-example
access-example:
go build -o build/access-example ./access/example
.PHONY: terraform
terraform:
make -C terraform
.PHONY: event-handler
event-handler:
make -C event-handler
# Run all tests
.PHONY: test
test:
go test -race -count 1 ./...
# Individual releases
.PHONY: release/access-slack
release/access-slack:
make -C access/slack clean release
.PHONY: release/access-jira
release/access-jira:
make -C access/jira clean release
.PHONY: release/access-mattermost
release/access-mattermost:
make -C access/mattermost clean release
.PHONY: release/access-pagerduty
release/access-pagerduty:
make -C access/pagerduty clean release
.PHONY: release/access-gitlab
release/access-gitlab:
make -C access/gitlab clean release
.PHONY: release/terraform
release/terraform:
make -C terraform clean release
.PHONY: release/event-handler
release/event-handler:
make -C event-handler clean release
# Run all releases
.PHONY: releases
releases: release/access-slack release/access-jira release/access-mattermost release/access-pagerduty release/access-gitlab
.PHONY: build-all
build-all: access-slack access-jira access-mattermost access-pagerduty access-gitlab terraform event-handler
.PHONY: update-version
update-version:
# Make sure VERSION is set on the command line "make update-version VERSION=x.y.z".
@test $(VERSION)
sed -i '1s/.*/VERSION=$(VERSION)/' event-handler/Makefile
make -C event-handler version.go
sed -i '1s/.*/VERSION=$(VERSION)/' access/jira/Makefile
make -C access/jira version.go
sed -i '1s/.*/VERSION=$(VERSION)/' access/mattermost/Makefile
make -C access/mattermost version.go
sed -i '1s/.*/VERSION=$(VERSION)/' access/slack/Makefile
make -C access/slack version.go
sed -i '1s/.*/VERSION=$(VERSION)/' access/pagerduty/Makefile
make -C access/pagerduty version.go
sed -i '1s/.*/VERSION=$(VERSION)/' terraform/install.mk
.PHONY: update-tag
update-tag:
# Make sure VERSION is set on the command line "make update-tag VERSION=x.y.z".
@test $(VERSION)
# Tag all releases first locally.
git tag teleport-event-handler-v$(VERSION)
git tag teleport-jira-v$(VERSION)
git tag teleport-mattermost-v$(VERSION)
git tag teleport-slack-v$(VERSION)
git tag teleport-pagerduty-v$(VERSION)
git tag terraform-provider-teleport-v$(VERSION)
# Push all releases to origin.
git push origin teleport-event-handler-v$(VERSION)
git push origin teleport-jira-v$(VERSION)
git push origin teleport-mattermost-v$(VERSION)
git push origin teleport-slack-v$(VERSION)
git push origin teleport-pagerduty-v$(VERSION)
git push origin terraform-provider-teleport-v$(VERSION)
#
# Lint the Go code.
# By default lint scans the entire repo. Pass GO_LINT_FLAGS='--new' to only scan local
# changes (or last commit).
#
.PHONY: lint
lint: GO_LINT_FLAGS ?=
lint:
golangci-lint run -c .golangci.yml $(GO_LINT_FLAGS)