This repository has been archived by the owner on Jun 23, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 21
/
Copy pathwercker.yml
184 lines (157 loc) · 4.82 KB
/
wercker.yml
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
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
no-response-timeout: 30
command-timeout: 30
box: iad.ocir.io/spinnaker/oci-kube-ci:1.0.2
dev:
steps:
- internal/shell
build:
base-path: "/go/src/github.com/oracle/oci-volume-provisioner"
steps:
- script:
name: check boilerplate
code: ./hack/verify-boilerplate.sh
- script:
name: validate source code
code: make gofmt golint govet
- script:
name: run unit tests
code: make test
- script:
name: build
code: make build
- script:
name: write VERSION.txt
code: |
make version > dist/VERSION.txt
cat dist/VERSION.txt
copy:
steps:
- script:
name: copy build/test artifacts
code: |
cp -a dist ${WERCKER_OUTPUT_DIR}
cp -a test ${WERCKER_OUTPUT_DIR}
cp -a manifests ${WERCKER_OUTPUT_DIR}
cp -a examples ${WERCKER_OUTPUT_DIR}
cp -a pkg ${WERCKER_OUTPUT_DIR}
cp -a vendor ${WERCKER_OUTPUT_DIR}
push:
box:
id: oraclelinux:7.3
steps:
- script:
name: set ENV vars
code: |
export VERSION=$(cat dist/VERSION.txt)
echo "Pushing version ${VERSION}"
- script:
name: Ensure version is unique
code: |
if curl -s https://api.github.com/repos/oracle/oci-volume-provisioner/git/refs/tags | grep "tags/$VERSION"; then
echo "Tag $VERSION already exists. Doing nothing."
exit 1
fi
- script:
name: prepare
code: |
cp ./dist/oci-volume-provisioner /oci-volume-provisioner
chmod +x /oci-volume-provisioner
- script:
name: Install SSL
code: |
yum install -y openssl ca-certificates && yum clean all
- internal/docker-push:
repository: iad.ocir.io/oracle/oci-volume-provisioner
tag: $VERSION
entrypoint: /oci-volume-provisioner
user: 65534 # nobody
registry: https://iad.ocir.io/v2
username: $OCIRUSERNAME
password: $OCIRPASSWORD
- internal/docker-push:
repository: lhr.ocir.io/oracle/oci-volume-provisioner
tag: $VERSION
entrypoint: /oci-volume-provisioner
user: 65534 # nobody
registry: https://lhr.ocir.io/v2
username: $OCIRUSERNAME
password: $OCIRPASSWORD
- internal/docker-push:
repository: phx.ocir.io/oracle/oci-volume-provisioner
tag: $VERSION
entrypoint: /oci-volume-provisioner
user: 65534 # nobody
registry: https://phx.ocir.io/v2
username: $OCIRUSERNAME
password: $OCIRPASSWORD
- internal/docker-push:
repository: fra.ocir.io/oracle/oci-volume-provisioner
tag: $VERSION
entrypoint: /oci-volume-provisioner
user: 65534 # nobody
registry: https://fra.ocir.io/v2
username: $OCIRUSERNAME
password: $OCIRPASSWORD
system-test:
base-path: "/go/src/github.com/oracle/oci-volume-provisioner"
box:
id: iad.ocir.io/spinnaker/oci-kube-ci:1.0.2
steps:
- script:
name: e2e tests
code: |
export VERSION=$(cat dist/VERSION.txt)
export OCICONFIG="/tmp/ociconfig"
echo -n "${OCICONFIG_VAR}" | openssl enc -base64 -d -A > "${OCICONFIG}"
export KUBECONFIG="/tmp/kubeconfig"
echo -n "${KUBECONFIG_VAR}" | openssl enc -base64 -d -A > "${KUBECONFIG}"
ginkgo \
-v \
test/e2e -- \
--kubeconfig="${KUBECONFIG}" \
--ociconfig="${OCICONFIG}" \
--subnet-id="${SUBNET_OCID}" \
--mnt-target-id="${MNT_TARGET_OCID}" \
--delete-namespace-on-failure=true \
--image="iad.ocir.io/oracle/oci-volume-provisioner:${VERSION}"
release:
box:
id: oraclelinux:7-slim
steps:
- script:
name: set ENV vars
code: |
export VERSION=$(cat dist/VERSION.txt)
echo "${VERSION}"
- script:
name: Ensure version is unique
code: |
if curl -s https://api.github.com/repos/oracle/oci-volume-provisioner/git/refs/tags | grep "tags/$VERSION"; then
echo "Tag $VERSION already exists. Doing nothing."
exit 1
fi
- github-create-release:
token: $GITHUB_TOKEN
tag: $VERSION
title: $VERSION
draft: false
- github-upload-asset:
token: $GITHUB_TOKEN
file: ./dist/oci-volume-provisioner.yaml
filename: oci-volume-provisioner.yaml
content-type: text/yaml
- github-upload-asset:
token: $GITHUB_TOKEN
file: ./dist/oci-volume-provisioner-rbac.yaml
filename: oci-volume-provisioner-rbac.yaml
content-type: text/yaml
- github-upload-asset:
token: $GITHUB_TOKEN
file: ./dist/storage-class-ext3.yaml
filename: storage-class-ext3.yaml
content-type: text/yaml
- github-upload-asset:
token: $GITHUB_TOKEN
file: ./dist/storage-class.yaml
filename: storage-class.yaml
content-type: text/yaml