@newskit-render/core 1.91.0-alpha.2 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +32 -0
- package/__tests__/pages/__snapshots__/[articleSlug].test.tsx.snap +6 -6
- package/__tests__/pages/__snapshots__/home.test.tsx.snap +22 -37
- package/components/ErrorPage/ErrorPage.tsx +2 -0
- package/components/article/__tests__/__snapshots__/index.test.tsx.snap +30 -8
- package/components/article/__tests__/index.test.tsx +3 -0
- package/components/article/index.tsx +12 -1
- package/components/footer/index.tsx +2 -0
- package/components/section/layouts/Block.tsx +5 -1
- package/components/section/layouts/__tests__/__snapshots__/Lead.test.tsx.snap +3 -3
- package/components/section/sectionUtils.ts +12 -2
- package/components/teaser/index.tsx +1 -0
- package/components/teaser/variant-types.ts +1 -1
- package/infrastructure/.circleci/config.yml +732 -734
- package/package.json +11 -11
- package/pages/_document.tsx +4 -1
- package/temp/_app.tsx +1 -0
- package/temp/_document.tsx +17 -15
- package/temp/header.tsx +4 -1
|
@@ -1,743 +1,741 @@
|
|
|
1
1
|
version: 2.1
|
|
2
2
|
|
|
3
3
|
orbs:
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
resource_class: xlarge
|
|
4
|
+
slack: circleci/slack@3.4.2
|
|
5
|
+
browser-tools: circleci/browser-tools@1.3.0
|
|
6
|
+
|
|
7
|
+
executors:
|
|
8
|
+
helm:
|
|
9
|
+
docker:
|
|
10
|
+
- image: nukengprodservice/helm:0.1.102
|
|
11
|
+
auth:
|
|
12
|
+
username: ${DOCKER_USERNAME}
|
|
13
|
+
password: ${DOCKER_PASSWORD}
|
|
14
|
+
resource_class: xlarge
|
|
16
15
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
16
|
+
node:
|
|
17
|
+
docker:
|
|
18
|
+
- image: cimg/node:16.13.0-browsers
|
|
19
|
+
auth:
|
|
20
|
+
username: ${DOCKER_USERNAME}
|
|
21
|
+
password: ${DOCKER_PASSWORD}
|
|
22
|
+
resource_class: xlarge
|
|
24
23
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
24
|
+
terraform:
|
|
25
|
+
docker:
|
|
26
|
+
- image: hashicorp/terraform:0.14.2
|
|
27
|
+
auth:
|
|
28
|
+
username: ${DOCKER_USERNAME}
|
|
29
|
+
password: ${DOCKER_PASSWORD}
|
|
30
|
+
resource_class: xlarge
|
|
32
31
|
|
|
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
|
-
|
|
32
|
+
commands:
|
|
33
|
+
aws_assume_role:
|
|
34
|
+
description: Assume AWS role
|
|
35
|
+
parameters:
|
|
36
|
+
aws_access_key_id:
|
|
37
|
+
description: AWS Access Key Id
|
|
38
|
+
type: string
|
|
39
|
+
default: '${AWS_ACCESS_KEY_ID}'
|
|
40
|
+
aws_secret_key:
|
|
41
|
+
description: AWS Secret Key
|
|
42
|
+
type: string
|
|
43
|
+
default: '${AWS_SECRET_ACCESS_KEY}'
|
|
44
|
+
aws_assume_role_arn:
|
|
45
|
+
description: AWS ARN For Assume Role
|
|
46
|
+
type: string
|
|
47
|
+
default: '${AWS_ASSUME_ROLE_ARN}'
|
|
48
|
+
aws_region:
|
|
49
|
+
description: AWS region
|
|
50
|
+
type: string
|
|
51
|
+
default: 'eu-west-1'
|
|
52
|
+
job_type:
|
|
53
|
+
description: The job type to be used
|
|
54
|
+
type: string
|
|
55
|
+
default: 'default'
|
|
56
|
+
eks_cluster:
|
|
57
|
+
description: EKS cluster for kubeconfig
|
|
58
|
+
type: string
|
|
59
|
+
default: '${AWS_EKS_CLUSTER}'
|
|
60
|
+
update_kubeconfig:
|
|
61
|
+
description: Whether to create a kubeconfig
|
|
62
|
+
type: boolean
|
|
63
|
+
default: false
|
|
64
|
+
steps:
|
|
65
|
+
- run:
|
|
66
|
+
name: Assume AWS role
|
|
67
|
+
command: |
|
|
68
|
+
export AWS_ACCESS_KEY_ID=<< parameters.aws_access_key_id >>
|
|
69
|
+
export AWS_SECRET_ACCESS_KEY=<< parameters.aws_secret_key >>
|
|
70
|
+
export temp_role=$(aws sts assume-role \
|
|
71
|
+
--role-arn "<< parameters.aws_assume_role_arn >>" \
|
|
72
|
+
--role-session-name "circle-ci-assume")
|
|
73
|
+
export AWS_ACCESS_KEY_ID_TEMP=$(echo $temp_role | jq .Credentials.AccessKeyId | xargs)
|
|
74
|
+
export AWS_SECRET_ACCESS_KEY_TEMP=$(echo $temp_role | jq .Credentials.SecretAccessKey | xargs)
|
|
75
|
+
export AWS_SESSION_TOKEN_TEMP=$(echo $temp_role | jq .Credentials.SessionToken | xargs)
|
|
76
|
+
echo "export AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID_TEMP" >> $BASH_ENV
|
|
77
|
+
echo "export AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY_TEMP" >> $BASH_ENV
|
|
78
|
+
echo "export AWS_SESSION_TOKEN=$AWS_SESSION_TOKEN_TEMP" >> $BASH_ENV
|
|
79
|
+
source $BASH_ENV
|
|
80
|
+
cat $BASH_ENV | grep AWS_ACCESS_KEY_ID >> assume_role_creds_<< parameters.job_type >>.txt
|
|
81
|
+
cat $BASH_ENV | grep AWS_SECRET_ACCESS_KEY >> assume_role_creds_<< parameters.job_type >>.txt
|
|
82
|
+
cat $BASH_ENV | grep AWS_SESSION_TOKEN >> assume_role_creds_<< parameters.job_type >>.txt
|
|
83
|
+
- when:
|
|
84
|
+
condition: << parameters.update_kubeconfig >>
|
|
85
|
+
steps:
|
|
86
|
+
- run:
|
|
87
|
+
name: Update kubeconfig clustername
|
|
88
|
+
command: aws --region << parameters.aws_region >> eks update-kubeconfig --name << parameters.eks_cluster >>
|
|
89
|
+
- run:
|
|
90
|
+
name: Update kubectl credentials
|
|
91
|
+
command: cp ~/.kube/config kube_<< parameters.job_type >>.config
|
|
92
|
+
- persist_to_workspace:
|
|
93
|
+
root: ./
|
|
94
|
+
paths:
|
|
95
|
+
- assume_role_creds_<< parameters.job_type >>.txt
|
|
96
|
+
- kube_<< parameters.job_type >>.config
|
|
98
97
|
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
98
|
+
aws_assume_role_file:
|
|
99
|
+
description: Assume AWS role from the workspace file
|
|
100
|
+
parameters:
|
|
101
|
+
job_type:
|
|
102
|
+
description: The job type to be used
|
|
103
|
+
type: string
|
|
104
|
+
default: 'default'
|
|
105
|
+
steps:
|
|
106
|
+
- run:
|
|
107
|
+
name: Assume role from file
|
|
108
|
+
command: |
|
|
109
|
+
cat assume_role_creds_<< parameters.job_type >>.txt >> $BASH_ENV
|
|
110
|
+
source $BASH_ENV
|
|
112
111
|
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
112
|
+
terraform_init:
|
|
113
|
+
description: Run Terraform Init
|
|
114
|
+
parameters:
|
|
115
|
+
path:
|
|
116
|
+
type: string
|
|
117
|
+
terraform_arg:
|
|
118
|
+
description: provide terraform arguments
|
|
119
|
+
type: string
|
|
120
|
+
default: ''
|
|
121
|
+
steps:
|
|
122
|
+
- run:
|
|
123
|
+
name: Terraform init
|
|
124
|
+
command: |
|
|
125
|
+
source $BASH_ENV
|
|
126
|
+
cd << parameters.path >>
|
|
127
|
+
terraform init << parameters.terraform_arg >>
|
|
129
128
|
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
129
|
+
terraform_plan:
|
|
130
|
+
description: Run Terraform Plan
|
|
131
|
+
parameters:
|
|
132
|
+
path:
|
|
133
|
+
type: string
|
|
134
|
+
terraform_arg:
|
|
135
|
+
description: provide terraform arguments
|
|
136
|
+
type: string
|
|
137
|
+
default: ''
|
|
138
|
+
steps:
|
|
139
|
+
- run:
|
|
140
|
+
name: Terraform plan
|
|
141
|
+
command: |
|
|
142
|
+
source $BASH_ENV
|
|
143
|
+
cd << parameters.path >>
|
|
144
|
+
terraform plan -out=tfplan -input=false << parameters.terraform_arg >>
|
|
146
145
|
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
146
|
+
terraform_apply:
|
|
147
|
+
description: Run Terraform Apply
|
|
148
|
+
parameters:
|
|
149
|
+
path:
|
|
150
|
+
type: string
|
|
151
|
+
steps:
|
|
152
|
+
- run:
|
|
153
|
+
name: Terraform apply
|
|
154
|
+
command: |
|
|
155
|
+
source $BASH_ENV
|
|
156
|
+
cd << parameters.path >>
|
|
157
|
+
terraform apply -input=false tfplan
|
|
159
158
|
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
159
|
+
terraform_force_apply:
|
|
160
|
+
description: Run Terraform Apply
|
|
161
|
+
parameters:
|
|
162
|
+
path:
|
|
163
|
+
type: string
|
|
164
|
+
steps:
|
|
165
|
+
- run:
|
|
166
|
+
name: Terraform forced apply
|
|
167
|
+
command: |
|
|
168
|
+
source $BASH_ENV
|
|
169
|
+
cd << parameters.path >>
|
|
170
|
+
terraform apply -auto-approve
|
|
172
171
|
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
172
|
+
git_config_user:
|
|
173
|
+
description: Configure git user
|
|
174
|
+
parameters:
|
|
175
|
+
user:
|
|
176
|
+
type: string
|
|
177
|
+
default: ${GIT_USERNAME}
|
|
178
|
+
email:
|
|
179
|
+
type: string
|
|
180
|
+
default: '${GIT_EMAIL}'
|
|
181
|
+
steps:
|
|
182
|
+
- run:
|
|
183
|
+
name: Configure git user
|
|
184
|
+
command: |
|
|
185
|
+
git config --global user.email "<< parameters.email >>"
|
|
186
|
+
git config --global user.name "<< parameters.user >>"
|
|
188
187
|
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
188
|
+
# This job relies on working with Pull Requests
|
|
189
|
+
set_helm_environment:
|
|
190
|
+
description: 'Set environment variables for helm'
|
|
191
|
+
parameters:
|
|
192
|
+
environment:
|
|
193
|
+
type: string
|
|
194
|
+
release:
|
|
195
|
+
description: Helm release name i.e ncu-newskit-render
|
|
196
|
+
type: string
|
|
197
|
+
default: <% HELM_RELEASE_NAME >
|
|
198
|
+
namespace:
|
|
199
|
+
description: Kubernetes namespace
|
|
200
|
+
type: string
|
|
201
|
+
node_env:
|
|
202
|
+
description: Node environment name
|
|
203
|
+
type: string
|
|
204
|
+
default: production
|
|
205
|
+
steps:
|
|
206
|
+
- run:
|
|
207
|
+
name: 'Set environment variables for helm'
|
|
208
|
+
command: |
|
|
209
|
+
export PKG_VERSION=$(jq -r .version package.json)
|
|
210
|
+
echo "export PKG_VERSION=$PKG_VERSION" >> $BASH_ENV
|
|
211
|
+
echo 'export KUBECONFIG=$(pwd)/kube_eks_<< parameters.environment >>.config' >> $BASH_ENV
|
|
212
|
+
echo 'export HELM_OPT_NAMESPACE="-n << parameters.namespace >>"' >> $BASH_ENV
|
|
213
|
+
echo 'export HELM_VAL_ENV=<< parameters.environment >>' >> $BASH_ENV
|
|
214
|
+
echo 'export NODE_ENV=<< parameters.node_env >>' >> $BASH_ENV
|
|
215
|
+
if [ -n "$CIRCLE_PULL_REQUEST" ]; then
|
|
216
|
+
export PR_NUMBER=$(echo ${CIRCLE_PULL_REQUEST} |rev | cut -d "/" -f1 |rev)
|
|
217
|
+
echo "export PR_NUMBER=$PR_NUMBER" >> $BASH_ENV
|
|
218
|
+
echo 'export HELM_OPT_SET="--set alb.prSuffix=pr-$PR_NUMBER"' >> $BASH_ENV
|
|
219
|
+
echo 'export HELM_OPT_SET="$HELM_OPT_SET --set image.tag=PR-$PR_NUMBER "' >> $BASH_ENV
|
|
220
|
+
echo 'export HELM_OPT_SET="$HELM_OPT_SET --set secret.items.NEWSKIT_API_X_API_KEY=${NEWSKIT_API_X_API_KEY}"' >> $BASH_ENV
|
|
221
|
+
echo 'export HELM_NAME="<< parameters.release >>-pr$PR_NUMBER"' >> $BASH_ENV
|
|
222
|
+
else
|
|
223
|
+
export PR_NUMBER=$(git log --format=%B -n 1 HEAD | grep -oE -m 1 '\(#[0-9]+\)' | grep -oE '[0-9]+')
|
|
224
|
+
echo "export PR_NUMBER=$PR_NUMBER" >> $BASH_ENV
|
|
225
|
+
echo 'export HELM_OPT_SET="--set image.tag=$PKG_VERSION "' >> $BASH_ENV
|
|
226
|
+
echo 'export HELM_OPT_SET="$HELM_OPT_SET --set secret.items.NEWSKIT_API_X_API_KEY=${NEWSKIT_API_X_API_KEY}"' >> $BASH_ENV
|
|
227
|
+
if [ "<< parameters.environment >>" = pr ]; then
|
|
228
|
+
echo 'export HELM_NAME="<< parameters.release >>-pr$PR_NUMBER"' >> $BASH_ENV
|
|
229
|
+
else
|
|
230
|
+
echo 'export HELM_NAME="<< parameters.release >>"' >> $BASH_ENV
|
|
231
|
+
fi
|
|
232
|
+
fi
|
|
234
233
|
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
234
|
+
echo 'export HELM_OPT_SET="$HELM_OPT_SET --set envs.SOURCEPOINT_ACCOUNT_ID=${SOURCEPOINT_ACCOUNT_ID}"' >> $BASH_ENV
|
|
235
|
+
echo 'export HELM_OPT_SET="$HELM_OPT_SET --set envs.SOURCEPOINT_PROPERTY_HREF=${SOURCEPOINT_PROPERTY_HREF}"' >> $BASH_ENV
|
|
236
|
+
echo 'export HELM_OPT_SET="$HELM_OPT_SET --set envs.EXPERIMENTATION_WEB=${EXPERIMENTATION_WEB}"' >> $BASH_ENV
|
|
237
|
+
echo 'export HELM_OPT_SET="$HELM_OPT_SET --set envs.TEALIUM_ACCOUNT_ID=${TEALIUM_ACCOUNT_ID}"' >> $BASH_ENV
|
|
238
|
+
echo 'export HELM_OPT_SET="$HELM_OPT_SET --set envs.TEALIUM_PROFILE_ID=${TEALIUM_PROFILE_ID}"' >> $BASH_ENV
|
|
239
|
+
echo 'export HELM_OPT_SET="$HELM_OPT_SET --set envs.TEALIUM_ENV=${TEALIUM_ENV}"' >> $BASH_ENV
|
|
240
|
+
echo 'export HELM_OPT_SET="$HELM_OPT_SET --set secret.items.NEW_RELIC_LICENSE_KEY=${NEW_RELIC_LICENSE_KEY}"' >> $BASH_ENV
|
|
241
|
+
echo 'export HELM_OPT_SET="$HELM_OPT_SET --set secret.items.MAIN_GRAPHQL_URL=${MAIN_GRAPHQL_URL}"' >> $BASH_ENV
|
|
242
|
+
echo 'export HELM_OPT_SET="$HELM_OPT_SET --set secret.items.MAIN_COOKIE_NAME=${MAIN_COOKIE_NAME}"' >> $BASH_ENV
|
|
243
|
+
echo 'export HELM_OPT_SET="$HELM_OPT_SET --set secret.items.MAIN_AUDIENCE=${MAIN_AUDIENCE}"' >> $BASH_ENV
|
|
244
|
+
echo 'export HELM_OPT_SET="$HELM_OPT_SET --set secret.items.MAIN_OAUTH_TOKEN=${MAIN_OAUTH_TOKEN}"' >> $BASH_ENV
|
|
245
|
+
echo 'export HELM_OPT_SET="$HELM_OPT_SET --set secret.items.MAIN_CLIENT_ID=${MAIN_CLIENT_ID}"' >> $BASH_ENV
|
|
246
|
+
echo 'export HELM_OPT_SET="$HELM_OPT_SET --set secret.items.MAIN_CLIENT_SECRET=${MAIN_CLIENT_SECRET}"' >> $BASH_ENV
|
|
247
|
+
echo 'export HELM_OPT_SET="$HELM_OPT_SET --set secret.items.MAIN_INTERNAL_AUTH0_DOMAIN=${MAIN_INTERNAL_AUTH0_DOMAIN}"' >> $BASH_ENV
|
|
248
|
+
echo 'export HELM_OPT_SET="$HELM_OPT_SET --set secret.items.MAIN_INTERNAL_CONNECTION=${MAIN_INTERNAL_CONNECTION}"' >> $BASH_ENV
|
|
249
|
+
echo 'export HELM_OPT_SET="$HELM_OPT_SET --set secret.items.MAIN_INTERNAL_CLIENT_ID=${MAIN_INTERNAL_CLIENT_ID}"' >> $BASH_ENV
|
|
250
|
+
echo 'export HELM_OPT_SET="$HELM_OPT_SET --set secret.items.STRIPE_KEY=${STRIPE_KEY}"' >> $BASH_ENV
|
|
251
|
+
echo 'export HELM_OPT_SET="$HELM_OPT_SET --set secret.items.LOQACCOUNT_KEY=${LOQACCOUNT_KEY}"' >> $BASH_ENV
|
|
252
|
+
echo 'export HELM_OPT_SET="$HELM_OPT_SET --set secret.items.SAILTHRU_API_SECRET=${SAILTHRU_API_SECRET}"' >> $BASH_ENV
|
|
253
|
+
echo 'export HELM_OPT_SET="$HELM_OPT_SET --set secret.items.SAILTHRU_DOMAIN=${SAILTHRU_DOMAIN}"' >> $BASH_ENV
|
|
254
|
+
echo 'export HELM_OPT_SET="$HELM_OPT_SET --set secret.items.OKTA_CLIENT_ID=${OKTA_CLIENT_ID}"' >> $BASH_ENV
|
|
255
|
+
echo 'export HELM_OPT_SET="$HELM_OPT_SET --set secret.items.OKTA_CLIENT_SECRET=${OKTA_CLIENT_SECRET}"' >> $BASH_ENV
|
|
256
|
+
echo 'export HELM_OPT_SET="$HELM_OPT_SET --set secret.items.OKTA_DOMAIN=${OKTA_DOMAIN}"' >> $BASH_ENV
|
|
257
|
+
echo 'export HELM_OPT_SET="$HELM_OPT_SET --set secret.items.NEXTAUTH_URL=${NEXTAUTH_URL}"' >> $BASH_ENV
|
|
258
|
+
echo 'export HELM_OPT_SET="$HELM_OPT_SET --set secret.items.NEXTAUTH_SECRET=${NEXTAUTH_SECRET}"' >> $BASH_ENV
|
|
259
|
+
echo 'export HELM_OPT_SET="$HELM_OPT_SET --set secret.items.SN_PASSWORD=${SN_PASSWORD}"' >> $BASH_ENV
|
|
260
|
+
echo 'export HELM_OPT_SET="$HELM_OPT_SET --set secret.items.SN_USERNAME=${SN_USERNAME}"' >> $BASH_ENV
|
|
261
|
+
echo 'export HELM_OPT_SET="$HELM_OPT_SET --set secret.items.SN_ENVIRONMENT=${SN_ENVIRONMENT}"' >> $BASH_ENV
|
|
262
|
+
echo 'export HELM_OPT_SET="$HELM_OPT_SET --set secret.items.ZUORA_PAGE_ID=${ZUORA_PAGE_ID}"' >> $BASH_ENV
|
|
263
|
+
echo 'export HELM_OPT_SET="$HELM_OPT_SET --set secret.items.ZUORA_RSA_SIGNATURE_URI=${ZUORA_RSA_SIGNATURE_URI}"' >> $BASH_ENV
|
|
264
|
+
echo 'export HELM_OPT_SET="$HELM_OPT_SET --set secret.items.OPTIMIZELY_SDK_KEY=${OPTIMIZELY_SDK_KEY}"' >> $BASH_ENV
|
|
265
|
+
echo 'export HELM_PATH="helm"' >> $BASH_ENV
|
|
266
|
+
echo 'export HELM_VALUES="--values $HELM_PATH/values-$HELM_VAL_ENV.yaml"' >> $BASH_ENV
|
|
267
|
+
echo 'export HELM_INSTALL="helm install --atomic $HELM_VALUES $HELM_OPT_SET $HELM_OPT_NAMESPACE"' >> $BASH_ENV
|
|
268
|
+
echo 'export HELM_UNINSTALL="helm uninstall $HELM_OPT_NAMESPACE"' >> $BASH_ENV
|
|
269
|
+
echo 'export HELM_LIST="helm list $HELM_OPT_NAMESPACE"' >> $BASH_ENV
|
|
270
|
+
echo 'export HELM_LIST_ALL="$HELM_LIST --all --short"' >> $BASH_ENV
|
|
271
|
+
echo 'export HELM_UPGRADE="helm upgrade --atomic $HELM_VALUES $HELM_OPT_SET $HELM_OPT_NAMESPACE"' >> $BASH_ENV
|
|
273
272
|
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
273
|
+
jobs:
|
|
274
|
+
init_aws:
|
|
275
|
+
parameters:
|
|
276
|
+
aws_access_key_id:
|
|
277
|
+
description: AWS Access Key Id
|
|
278
|
+
type: string
|
|
279
|
+
default: '${AWS_ACCESS_KEY_ID}'
|
|
280
|
+
aws_secret_key:
|
|
281
|
+
description: AWS Secret Key
|
|
282
|
+
type: string
|
|
283
|
+
default: '${AWS_SECRET_ACCESS_KEY}'
|
|
284
|
+
aws_assume_role_arn:
|
|
285
|
+
description: AWS ARN For Assume Role
|
|
286
|
+
type: string
|
|
287
|
+
default: '${AWS_ASSUME_ROLE_ARN}'
|
|
288
|
+
job_type:
|
|
289
|
+
type: string
|
|
290
|
+
default: 'default'
|
|
291
|
+
update_kubeconfig:
|
|
292
|
+
type: boolean
|
|
293
|
+
default: true
|
|
294
|
+
working_directory: ~/project
|
|
295
|
+
executor: helm
|
|
296
|
+
steps:
|
|
297
|
+
- run:
|
|
298
|
+
name: Install openssh client
|
|
299
|
+
command: apk add openssh-client
|
|
300
|
+
- checkout
|
|
301
|
+
- aws_assume_role:
|
|
302
|
+
aws_access_key_id: << parameters.aws_access_key_id >>
|
|
303
|
+
aws_secret_key: << parameters.aws_secret_key >>
|
|
304
|
+
aws_assume_role_arn: << parameters.aws_assume_role_arn >>
|
|
305
|
+
job_type: << parameters.job_type >>
|
|
306
|
+
update_kubeconfig: << parameters.update_kubeconfig >>
|
|
308
307
|
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
308
|
+
deploy_terraform:
|
|
309
|
+
parameters:
|
|
310
|
+
team:
|
|
311
|
+
description: Used to generate the S3 bucket key i.e. product-platforms
|
|
312
|
+
type: string
|
|
313
|
+
default: <% TEAM >
|
|
314
|
+
project:
|
|
315
|
+
description: Used to generate the S3 bucket key i.e. ncu-newskit-render
|
|
316
|
+
type: string
|
|
317
|
+
folder:
|
|
318
|
+
description: Used to generate the S3 bucket key and navigate to terraform folder i.e. infrastructure-ecr
|
|
319
|
+
type: string
|
|
320
|
+
environment:
|
|
321
|
+
type: string
|
|
322
|
+
default: dev
|
|
323
|
+
apply:
|
|
324
|
+
type: boolean
|
|
325
|
+
default: false
|
|
326
|
+
working_directory: ~/project
|
|
327
|
+
executor: terraform
|
|
328
|
+
steps:
|
|
329
|
+
- checkout
|
|
330
|
+
- attach_workspace:
|
|
331
|
+
at: ~/project
|
|
332
|
+
- aws_assume_role_file
|
|
333
|
+
- terraform_init:
|
|
334
|
+
path: << parameters.folder >>
|
|
335
|
+
terraform_arg: -backend-config="key=<<parameters.team >>/<< parameters.project >>/<< parameters.folder >>/<< parameters.environment >>/terraform.tfstate"
|
|
336
|
+
- terraform_plan:
|
|
337
|
+
path: << parameters.folder >>
|
|
338
|
+
terraform_arg: -var-file=<< parameters.environment >>.tfvars
|
|
339
|
+
- when:
|
|
340
|
+
condition: << parameters.apply >>
|
|
341
|
+
steps:
|
|
342
|
+
- terraform_apply:
|
|
343
|
+
path: << parameters.folder >>
|
|
345
344
|
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
345
|
+
install_deps:
|
|
346
|
+
working_directory: ~/project
|
|
347
|
+
executor: node
|
|
348
|
+
steps:
|
|
349
|
+
- checkout
|
|
350
|
+
- restore_cache:
|
|
351
|
+
keys:
|
|
352
|
+
- <% PACKAGE_MANAGER >-build-{{ .Environment.BUILD_CACHE_VERSION }}-{{ checksum "<% PACKAGE_MANAGER_LOCK_FILE >" }}
|
|
353
|
+
- <% PACKAGE_MANAGER >-build-{{ .Environment.BUILD_CACHE_VERSION }}-
|
|
354
|
+
- restore_cache:
|
|
355
|
+
keys:
|
|
356
|
+
- cypress-{{ .Environment.CYPRESS_CACHE_VERSION }}-{{ checksum "<% PACKAGE_MANAGER_LOCK_FILE >" }}
|
|
357
|
+
- run:
|
|
358
|
+
name: 'Install dependencies'
|
|
359
|
+
command: <% PACKAGE_INSTALL >
|
|
360
|
+
- run:
|
|
361
|
+
name: 'Build the project'
|
|
362
|
+
command: <% PACKAGE_RUN > build
|
|
363
|
+
- save_cache:
|
|
364
|
+
key: <% PACKAGE_MANAGER >-build-{{ .Environment.BUILD_CACHE_VERSION }}-{{ checksum "<% PACKAGE_MANAGER_LOCK_FILE >" }}
|
|
365
|
+
paths:
|
|
366
|
+
- ~/.cache/yarn
|
|
367
|
+
- ~/.npm
|
|
368
|
+
- node_modules
|
|
369
|
+
- .next/cache
|
|
370
|
+
- save_cache:
|
|
371
|
+
key: cypress-{{ .Environment.CYPRESS_CACHE_VERSION }}-{{ checksum "<% PACKAGE_MANAGER_LOCK_FILE >" }}
|
|
372
|
+
paths:
|
|
373
|
+
- ~/.cache/Cypress
|
|
374
|
+
- persist_to_workspace:
|
|
375
|
+
root: ./
|
|
376
|
+
paths: .next
|
|
378
377
|
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
378
|
+
lint:
|
|
379
|
+
executor: node
|
|
380
|
+
steps:
|
|
381
|
+
- checkout
|
|
382
|
+
- attach_workspace:
|
|
383
|
+
at: ~/project
|
|
384
|
+
- restore_cache:
|
|
385
|
+
keys:
|
|
386
|
+
- <% PACKAGE_MANAGER >-build-{{ .Environment.BUILD_CACHE_VERSION }}-{{ checksum "<% PACKAGE_MANAGER_LOCK_FILE >" }}
|
|
387
|
+
- run:
|
|
388
|
+
name: "Run lint"
|
|
389
|
+
command: <% PACKAGE_RUN > lint
|
|
391
390
|
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
391
|
+
test_unit:
|
|
392
|
+
executor: node
|
|
393
|
+
steps:
|
|
394
|
+
- checkout
|
|
395
|
+
- attach_workspace:
|
|
396
|
+
at: ~/project
|
|
397
|
+
- restore_cache:
|
|
398
|
+
keys:
|
|
399
|
+
- <% PACKAGE_MANAGER >-build-{{ .Environment.BUILD_CACHE_VERSION }}-{{ checksum "<% PACKAGE_MANAGER_LOCK_FILE >" }}
|
|
400
|
+
- run:
|
|
401
|
+
name: 'Run tests'
|
|
402
|
+
command: |
|
|
403
|
+
mkdir tests
|
|
404
|
+
<% PACKAGE_RUN > test:unit:ci
|
|
405
|
+
environment:
|
|
406
|
+
JEST_JUNIT_OUTPUT_DIR: /home/circleci/project/tests
|
|
407
|
+
- store_test_results:
|
|
408
|
+
path: tests
|
|
409
|
+
- store_artifacts:
|
|
410
|
+
path: tests
|
|
411
|
+
destination: tests
|
|
413
412
|
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
413
|
+
e2e_test:
|
|
414
|
+
executor: node
|
|
415
|
+
steps:
|
|
416
|
+
- checkout
|
|
417
|
+
- attach_workspace:
|
|
418
|
+
at: ~/project
|
|
419
|
+
- restore_cache:
|
|
420
|
+
keys:
|
|
421
|
+
- <% PACKAGE_MANAGER >-build-{{ .Environment.BUILD_CACHE_VERSION }}-{{ checksum "<% PACKAGE_MANAGER_LOCK_FILE >" }}
|
|
422
|
+
- restore_cache:
|
|
423
|
+
keys:
|
|
424
|
+
- cypress-{{ .Environment.CYPRESS_CACHE_VERSION }}-{{ checksum "<% PACKAGE_MANAGER_LOCK_FILE >" }}
|
|
425
|
+
- run:
|
|
426
|
+
name: 'Export Newskit API variables'
|
|
427
|
+
command: |
|
|
428
|
+
echo "export NEWSKIT_API_X_API_KEY=$NEWSKIT_API_X_API_KEY" >> $BASH_ENV
|
|
429
|
+
echo "export NEWSKIT_API_ENV_URL=$NEWSKIT_API_ENV_URL" >> $BASH_ENV
|
|
430
|
+
- run:
|
|
431
|
+
name: 'install cypress dependencies'
|
|
432
|
+
command: |
|
|
433
|
+
sudo apt-get update
|
|
434
|
+
sudo apt-get install libgtk2.0-0 libgtk-3-0 libgbm-dev libnotify-dev libgconf-2-4 libnss3 libxss1 libasound2 libxtst6 xauth xvfb
|
|
435
|
+
- browser-tools/install-chrome
|
|
436
|
+
- browser-tools/install-chromedriver
|
|
437
|
+
- run:
|
|
438
|
+
name: Check chrome install
|
|
439
|
+
command: |
|
|
440
|
+
google-chrome --version
|
|
441
|
+
chromedriver --version
|
|
442
|
+
- run:
|
|
443
|
+
name: 'start server'
|
|
444
|
+
command: |
|
|
445
|
+
yarn start:test:server
|
|
446
|
+
background: true
|
|
447
|
+
- run:
|
|
448
|
+
name: 'Wait test server'
|
|
449
|
+
command: |
|
|
450
|
+
yarn wait:server
|
|
451
|
+
- run:
|
|
452
|
+
name: 'Run e2e tests'
|
|
453
|
+
command: |
|
|
454
|
+
<% PACKAGE_RUN > test:e2e
|
|
455
|
+
- store_artifacts:
|
|
456
|
+
path: cypress/screenshots
|
|
457
|
+
- store_artifacts:
|
|
458
|
+
path: cypress/videos
|
|
460
459
|
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
460
|
+
publish_docker:
|
|
461
|
+
parameters:
|
|
462
|
+
project:
|
|
463
|
+
description: Project name that will be used to tag docker images i.e ncu-newskit-render
|
|
464
|
+
type: string
|
|
465
|
+
default: <% PROJECT_NAME >
|
|
466
|
+
working_directory: ~/project
|
|
467
|
+
executor: node
|
|
468
|
+
steps:
|
|
469
|
+
- checkout
|
|
470
|
+
- attach_workspace:
|
|
471
|
+
at: ~/project
|
|
472
|
+
- restore_cache:
|
|
473
|
+
keys:
|
|
474
|
+
- <% PACKAGE_MANAGER >-build-{{ .Environment.BUILD_CACHE_VERSION }}-{{ checksum "<% PACKAGE_MANAGER_LOCK_FILE >" }}
|
|
475
|
+
- setup_remote_docker
|
|
476
|
+
- run:
|
|
477
|
+
name: Install aws cli
|
|
478
|
+
command: |
|
|
479
|
+
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 4EB27DB2A3B88B8B
|
|
480
|
+
sudo apt-get update
|
|
481
|
+
sudo apt-get install python python3-pip
|
|
482
|
+
sudo pip install awscli
|
|
483
|
+
- aws_assume_role_file
|
|
484
|
+
- run:
|
|
485
|
+
name: Publish Docker containers to AWS ECR
|
|
486
|
+
command: |
|
|
487
|
+
if [ -n "$CIRCLE_PULL_REQUEST" ]; then
|
|
488
|
+
export PR_NUMBER=$(echo ${CIRCLE_PULL_REQUEST} |rev | cut -d "/" -f1 |rev)
|
|
489
|
+
TAGS="PR-$PR_NUMBER"
|
|
490
|
+
else
|
|
491
|
+
TAG_VERSION=$(jq -r .version package.json)
|
|
492
|
+
TAGS="$TAG_VERSION latest"
|
|
493
|
+
fi
|
|
494
|
+
DOCKER_REGISTRY_URL="$AWS_ACCOUNT_ID.dkr.ecr.$AWS_DEFAULT_REGION.amazonaws.com"
|
|
496
495
|
|
|
497
|
-
|
|
496
|
+
npm prune --production
|
|
498
497
|
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
498
|
+
echo $DOCKER_PASSWORD | docker login -u $DOCKER_USERNAME --password-stdin
|
|
499
|
+
docker build -t << parameters.project >> .
|
|
500
|
+
$(aws ecr get-login --no-include-email)
|
|
501
|
+
for tag in $TAGS; do
|
|
502
|
+
docker tag << parameters.project >> $DOCKER_REGISTRY_URL/<< parameters.project >>:$tag;
|
|
503
|
+
docker push $DOCKER_REGISTRY_URL/<< parameters.project >>:$tag;
|
|
504
|
+
done
|
|
506
505
|
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
506
|
+
uninstall_helm:
|
|
507
|
+
parameters:
|
|
508
|
+
environment:
|
|
509
|
+
description: Environment name
|
|
510
|
+
type: string
|
|
511
|
+
release:
|
|
512
|
+
description: Helm release name i.e ncu-newskit-render
|
|
513
|
+
type: string
|
|
514
|
+
default: <% HELM_RELEASE_NAME >
|
|
515
|
+
namespace:
|
|
516
|
+
description: Kubernetes namespace without environment suffix
|
|
517
|
+
type: string
|
|
518
|
+
default: <% K8S_NAMESPACE >
|
|
519
|
+
working_directory: ~/project
|
|
520
|
+
executor: helm
|
|
521
|
+
steps:
|
|
522
|
+
- run:
|
|
523
|
+
name: Install ssh client
|
|
524
|
+
command: apk add openssh-client
|
|
525
|
+
- checkout
|
|
526
|
+
- attach_workspace:
|
|
527
|
+
at: ~/project
|
|
528
|
+
- aws_assume_role_file:
|
|
529
|
+
job_type: eks_<< parameters.environment >>
|
|
530
|
+
- set_helm_environment:
|
|
531
|
+
environment: << parameters.environment >>
|
|
532
|
+
release: << parameters.release >>
|
|
533
|
+
namespace: << parameters.namespace>>-<< parameters.environment >>
|
|
534
|
+
- run:
|
|
535
|
+
name: Helm uninstall
|
|
536
|
+
command: |
|
|
537
|
+
source $BASH_ENV
|
|
538
|
+
if $HELM_LIST | grep -q $HELM_NAME; then $HELM_UNINSTALL $HELM_NAME; fi
|
|
540
539
|
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
540
|
+
remove_all_pr_environments:
|
|
541
|
+
parameters:
|
|
542
|
+
namespace:
|
|
543
|
+
description: Kubernetes namespace without environment suffix
|
|
544
|
+
type: string
|
|
545
|
+
default: <% K8S_NAMESPACE >
|
|
546
|
+
working_directory: ~/project
|
|
547
|
+
executor: helm
|
|
548
|
+
steps:
|
|
549
|
+
- run:
|
|
550
|
+
name: Install ssh client
|
|
551
|
+
command: apk add openssh-client
|
|
552
|
+
- checkout
|
|
553
|
+
- attach_workspace:
|
|
554
|
+
at: ~/project
|
|
555
|
+
- aws_assume_role_file:
|
|
556
|
+
job_type: eks_pr
|
|
557
|
+
- set_helm_environment:
|
|
558
|
+
environment: pr
|
|
559
|
+
namespace: << parameters.namespace>>-pr
|
|
560
|
+
- run:
|
|
561
|
+
name: Remove all PR environments
|
|
562
|
+
command: |
|
|
563
|
+
source $BASH_ENV
|
|
564
|
+
if [ -n "$($HELM_LIST_ALL)" ]; then $HELM_LIST_ALL | xargs $HELM_UNINSTALL; fi
|
|
566
565
|
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
566
|
+
upgrade_helm:
|
|
567
|
+
parameters:
|
|
568
|
+
environment:
|
|
569
|
+
description: Environment name
|
|
570
|
+
type: string
|
|
571
|
+
node_env:
|
|
572
|
+
description: Node environment name
|
|
573
|
+
type: string
|
|
574
|
+
default: production
|
|
575
|
+
create:
|
|
576
|
+
description: Whether to create a new Helm package
|
|
577
|
+
type: boolean
|
|
578
|
+
default: false
|
|
579
|
+
release:
|
|
580
|
+
description: Helm release name i.e ncu-newskit-render
|
|
581
|
+
type: string
|
|
582
|
+
default: <% HELM_RELEASE_NAME >
|
|
583
|
+
helm_repo:
|
|
584
|
+
description: Helm S3 repo url
|
|
585
|
+
type: string
|
|
586
|
+
default: s3://<% HELM_BUCKET_NAME >
|
|
587
|
+
namespace:
|
|
588
|
+
description: Kubernetes namespace without environment suffix
|
|
589
|
+
type: string
|
|
590
|
+
default: <% K8S_NAMESPACE >
|
|
591
|
+
working_directory: ~/project
|
|
592
|
+
executor: helm
|
|
593
|
+
steps:
|
|
594
|
+
- run:
|
|
595
|
+
name: Install ssh client
|
|
596
|
+
command: apk add openssh-client
|
|
597
|
+
- checkout
|
|
598
|
+
- attach_workspace:
|
|
599
|
+
at: ~/project
|
|
600
|
+
- set_helm_environment:
|
|
601
|
+
environment: << parameters.environment >>
|
|
602
|
+
node_env: << parameters.node_env >>
|
|
603
|
+
release: << parameters.release >>
|
|
604
|
+
namespace: << parameters.namespace >>-<< parameters.environment >>
|
|
605
|
+
- run:
|
|
606
|
+
name: Install helm s3 plugin
|
|
607
|
+
command: helm plugin install https://github.com/hypnoglow/helm-s3.git
|
|
608
|
+
- aws_assume_role_file
|
|
609
|
+
- when:
|
|
610
|
+
condition: << parameters.create >>
|
|
611
|
+
steps:
|
|
612
|
+
- run:
|
|
613
|
+
name: Helm package and upload
|
|
614
|
+
command: |
|
|
615
|
+
source $BASH_ENV
|
|
616
|
+
if ! aws s3 ls << parameters.helm_repo >>/<< parameters.release >>/ | grep index.yaml; then
|
|
617
|
+
helm s3 init << parameters.helm_repo >>/<< parameters.release >>
|
|
618
|
+
else
|
|
619
|
+
echo "Repo already initialized";
|
|
620
|
+
fi
|
|
621
|
+
helm repo add << parameters.release >> << parameters.helm_repo >>/<< parameters.release >>
|
|
622
|
+
helm package -u --version $PKG_VERSION --app-version $PKG_VERSION $HELM_PATH;
|
|
623
|
+
mv << parameters.release >>-*.tgz << parameters.release >>-$PKG_VERSION.tgz;
|
|
624
|
+
if [ "$HELM_VAL_ENV" != "pr" ]; then
|
|
625
|
+
helm s3 push --force ./<< parameters.release >>-$PKG_VERSION.tgz << parameters.release >>;
|
|
626
|
+
fi
|
|
627
|
+
- unless:
|
|
628
|
+
condition: << parameters.create >>
|
|
629
|
+
steps:
|
|
630
|
+
- run:
|
|
631
|
+
name: Download helm chart
|
|
632
|
+
command: |
|
|
633
|
+
source $BASH_ENV
|
|
634
|
+
helm repo add << parameters.release >> << parameters.helm_repo >>/<< parameters.release >>
|
|
635
|
+
helm pull << parameters.release >>/<< parameters.release >> --version $PKG_VERSION;
|
|
637
636
|
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
637
|
+
- aws_assume_role_file:
|
|
638
|
+
job_type: eks_<< parameters.environment >>
|
|
639
|
+
- run:
|
|
640
|
+
name: Helm deploy
|
|
641
|
+
command: |
|
|
642
|
+
source $BASH_ENV
|
|
643
|
+
$HELM_UPGRADE --install $HELM_NAME << parameters.release >>-*.tgz --version $PKG_VERSION
|
|
644
|
+
- when:
|
|
645
|
+
condition:
|
|
646
|
+
and:
|
|
647
|
+
- not:
|
|
648
|
+
equal: [pr, << parameters.environment >>]
|
|
649
|
+
steps:
|
|
650
|
+
- run:
|
|
651
|
+
name: Add Deployment Marker to New Relic
|
|
652
|
+
command: |
|
|
653
|
+
CURRENT_VERSION=$(jq -r .version ./package.json)
|
|
654
|
+
APP_ID=$(curl -s -X GET "https://api.newrelic.com/v2/applications.json" -H "X-Api-Key:${TF_VAR_newrelic_api_key}" -G -d "filter[name]=<% PROJECT_PREFIX >:<% PROJECT_NAME >:<< parameters.environment >>" | jq -r '.applications[]' | jq -r '.id')
|
|
655
|
+
curl -X POST "https://api.newrelic.com/v2/applications/$APP_ID/deployments.json" -H "Api-Key:${TF_VAR_newrelic_api_key}" -i -H "Content-Type: application/json" -d '{ "deployment": { "revision": "'$CURRENT_VERSION'" } }'
|
|
657
656
|
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
657
|
+
create_release:
|
|
658
|
+
executor: helm
|
|
659
|
+
working_directory: ~/project
|
|
660
|
+
steps:
|
|
661
|
+
- run:
|
|
662
|
+
name: Install ssh client and npm
|
|
663
|
+
command: apk add openssh-client npm
|
|
664
|
+
- add_ssh_keys:
|
|
665
|
+
fingerprints:
|
|
666
|
+
- '<% SSH_KEY >'
|
|
667
|
+
- checkout
|
|
668
|
+
- attach_workspace:
|
|
669
|
+
at: ~/project
|
|
670
|
+
- aws_assume_role:
|
|
671
|
+
aws_access_key_id: ${RELEASE_AWS_ACCESS_KEY_ID}
|
|
672
|
+
aws_secret_key: ${RELEASE_AWS_SECRET_ACCESS_KEY}
|
|
673
|
+
aws_assume_role_arn: ${BOOK_RELEASE_ROLE_ARN}
|
|
674
|
+
job_type: release
|
|
675
|
+
- run:
|
|
676
|
+
name: Create release request
|
|
677
|
+
command: |
|
|
678
|
+
source $BASH_ENV
|
|
679
|
+
CURRENT_VERSION=$(jq -r .version ./package.json)
|
|
681
680
|
|
|
682
|
-
|
|
681
|
+
npm install --no-save release-documentation-cli@5.2.4
|
|
683
682
|
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
683
|
+
# If your tags are prefixed (i.e. lerna) check the --tagFilter parameter
|
|
684
|
+
echo "Creating a release request for $CURRENT_VERSION to be deployed to production."
|
|
685
|
+
# Instead of booking real releases in the production google sheet and RoD, post rows to the debug google sheet (found next to the the production sheet)
|
|
686
|
+
# Useful when first setting up booking releases
|
|
687
|
+
# Remove when all config is validated
|
|
688
|
+
$(npm bin)/release new --isDebug --productOwner "$PRODUCT_OWNER" --runOnCi --bookRelease
|
|
690
689
|
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
690
|
+
promote_release:
|
|
691
|
+
executor: node
|
|
692
|
+
working_directory: ~/project
|
|
693
|
+
steps:
|
|
694
|
+
- add_ssh_keys:
|
|
695
|
+
fingerprints:
|
|
696
|
+
- '<% SSH_KEY >'
|
|
697
|
+
- checkout
|
|
698
|
+
- attach_workspace:
|
|
699
|
+
at: ~/project
|
|
700
|
+
- run:
|
|
701
|
+
name: Promote release
|
|
702
|
+
command: |
|
|
703
|
+
export CURRENT_VERSION=$(jq -r .version ./package.json)
|
|
704
|
+
echo "export CURRENT_VERSION=$CURRENT_VERSION" >> $BASH_ENV
|
|
706
705
|
|
|
707
|
-
|
|
706
|
+
npm install --no-save release-documentation-cli@5.2.4
|
|
708
707
|
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
708
|
+
# If your tags are prefixed (i.e. lerna) check the --tagFilter parameter
|
|
709
|
+
$(npm bin)/release promote
|
|
710
|
+
echo "$CURRENT_VERSION published to npm"
|
|
711
|
+
- slack/notify:
|
|
712
|
+
color: '#42e2f4'
|
|
713
|
+
message: "Hi all, \n <% PROJECT_NAME > version <% GIT_REPO >/releases/tag/${CURRENT_VERSION} has been released."
|
|
714
|
+
webhook: ${SLACK_RELEASES_WEBHOOK}
|
|
716
715
|
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
716
|
+
bump_version:
|
|
717
|
+
executor: node
|
|
718
|
+
working_directory: ~/project
|
|
719
|
+
steps:
|
|
720
|
+
- add_ssh_keys:
|
|
721
|
+
fingerprints:
|
|
722
|
+
- '<% SSH_KEY >'
|
|
723
|
+
- checkout
|
|
724
|
+
- attach_workspace:
|
|
725
|
+
at: ~/project
|
|
726
|
+
- git_config_user
|
|
727
|
+
- run:
|
|
728
|
+
name: Run standard-version
|
|
729
|
+
command: |
|
|
730
|
+
npx standard-version --releaseCommitMessageFormat='chore(release): {{currentTag}} [ci skip]'
|
|
731
|
+
git push --follow-tags origin master
|
|
732
|
+
- persist_to_workspace:
|
|
733
|
+
root: ./
|
|
734
|
+
paths:
|
|
735
|
+
- package.json
|
|
737
736
|
|
|
738
|
-
jobs:
|
|
739
737
|
add_github_comment:
|
|
740
|
-
executor:
|
|
738
|
+
executor: node
|
|
741
739
|
steps:
|
|
742
740
|
- run:
|
|
743
741
|
name: Post a comment to GitHub
|
|
@@ -781,24 +779,24 @@ only_on_master_branch: &only_on_master_branch
|
|
|
781
779
|
workflows:
|
|
782
780
|
pull_request:
|
|
783
781
|
jobs:
|
|
784
|
-
-
|
|
782
|
+
- install_deps:
|
|
785
783
|
name: install_deps
|
|
786
784
|
context: <% PROJECT_NAME >-dev
|
|
787
785
|
<<: *only_on_pr_branch
|
|
788
|
-
-
|
|
786
|
+
- e2e_test:
|
|
789
787
|
<<: *only_on_pr_branch
|
|
790
788
|
context: <% PROJECT_NAME >-dev
|
|
791
789
|
name: e2e_test
|
|
792
790
|
requires:
|
|
793
791
|
- install_deps
|
|
794
|
-
-
|
|
792
|
+
- init_aws:
|
|
795
793
|
<<: *only_on_pr_branch
|
|
796
794
|
context: <% PROJECT_NAME >-dev
|
|
797
795
|
name: init_aws_eks_pr
|
|
798
796
|
job_type: 'eks_pr'
|
|
799
797
|
requires:
|
|
800
798
|
- install_deps
|
|
801
|
-
-
|
|
799
|
+
- init_aws:
|
|
802
800
|
<<: *only_on_pr_branch
|
|
803
801
|
context: <% PROJECT_NAME >-dev
|
|
804
802
|
name: init_aws
|
|
@@ -808,7 +806,7 @@ workflows:
|
|
|
808
806
|
update_kubeconfig: false
|
|
809
807
|
requires:
|
|
810
808
|
- install_deps
|
|
811
|
-
-
|
|
809
|
+
- deploy_terraform:
|
|
812
810
|
<<: *only_on_pr_branch
|
|
813
811
|
context: <% PROJECT_NAME >-dev
|
|
814
812
|
name: deploy_terraform__<< matrix.folder >>
|
|
@@ -819,14 +817,14 @@ workflows:
|
|
|
819
817
|
apply: false
|
|
820
818
|
requires:
|
|
821
819
|
- init_aws
|
|
822
|
-
-
|
|
820
|
+
- publish_docker:
|
|
823
821
|
<<: *only_on_pr_branch
|
|
824
822
|
context: <% PROJECT_NAME >-dev
|
|
825
823
|
name: publish_docker
|
|
826
824
|
requires:
|
|
827
825
|
- install_deps
|
|
828
826
|
- init_aws
|
|
829
|
-
-
|
|
827
|
+
- upgrade_helm:
|
|
830
828
|
<<: *only_on_pr_branch
|
|
831
829
|
context: <% PROJECT_NAME >-dev
|
|
832
830
|
name: deploy_to_pr
|
|
@@ -844,12 +842,12 @@ workflows:
|
|
|
844
842
|
|
|
845
843
|
remove_pr:
|
|
846
844
|
jobs:
|
|
847
|
-
-
|
|
845
|
+
- init_aws:
|
|
848
846
|
<<: *only_on_master_branch
|
|
849
847
|
context: <% PROJECT_NAME >-dev
|
|
850
848
|
name: init_aws_eks_pr
|
|
851
849
|
job_type: 'eks_pr'
|
|
852
|
-
-
|
|
850
|
+
- uninstall_helm:
|
|
853
851
|
<<: *only_on_master_branch
|
|
854
852
|
context: <% PROJECT_NAME >-dev
|
|
855
853
|
name: destroy_pr
|
|
@@ -859,31 +857,31 @@ workflows:
|
|
|
859
857
|
|
|
860
858
|
build_and_deploy:
|
|
861
859
|
jobs:
|
|
862
|
-
-
|
|
860
|
+
- install_deps:
|
|
863
861
|
name: install_deps
|
|
864
862
|
context: <% PROJECT_NAME >-dev
|
|
865
863
|
<<: *only_on_master_branch
|
|
866
|
-
-
|
|
864
|
+
- e2e_test:
|
|
867
865
|
<<: *only_on_master_branch
|
|
868
866
|
context: <% PROJECT_NAME >-dev
|
|
869
867
|
name: e2e_test
|
|
870
868
|
requires:
|
|
871
869
|
- install_deps
|
|
872
|
-
-
|
|
870
|
+
- bump_version:
|
|
873
871
|
<<: *only_on_master_branch
|
|
874
872
|
context: <% PROJECT_NAME >-dev
|
|
875
873
|
name: bump_version
|
|
876
874
|
requires:
|
|
877
875
|
- install_deps
|
|
878
876
|
- e2e_test
|
|
879
|
-
-
|
|
877
|
+
- init_aws:
|
|
880
878
|
<<: *only_on_master_branch
|
|
881
879
|
context: <% PROJECT_NAME >-dev
|
|
882
880
|
name: init_aws_eks_dev
|
|
883
881
|
job_type: 'eks_dev'
|
|
884
882
|
requires:
|
|
885
883
|
- install_deps
|
|
886
|
-
-
|
|
884
|
+
- init_aws:
|
|
887
885
|
<<: *only_on_master_branch
|
|
888
886
|
context: <% PROJECT_NAME >-dev
|
|
889
887
|
name: init_aws
|
|
@@ -893,7 +891,7 @@ workflows:
|
|
|
893
891
|
update_kubeconfig: false
|
|
894
892
|
requires:
|
|
895
893
|
- install_deps
|
|
896
|
-
-
|
|
894
|
+
- deploy_terraform:
|
|
897
895
|
<<: *only_on_master_branch
|
|
898
896
|
context: <% PROJECT_NAME >-dev
|
|
899
897
|
name: deploy_terraform_ecr
|
|
@@ -903,7 +901,7 @@ workflows:
|
|
|
903
901
|
apply: true
|
|
904
902
|
requires:
|
|
905
903
|
- init_aws
|
|
906
|
-
-
|
|
904
|
+
- publish_docker:
|
|
907
905
|
<<: *only_on_master_branch
|
|
908
906
|
context: <% PROJECT_NAME >-dev
|
|
909
907
|
name: publish_docker
|
|
@@ -912,7 +910,7 @@ workflows:
|
|
|
912
910
|
- e2e_test
|
|
913
911
|
- init_aws
|
|
914
912
|
- deploy_terraform_ecr
|
|
915
|
-
-
|
|
913
|
+
- upgrade_helm:
|
|
916
914
|
<<: *only_on_master_branch
|
|
917
915
|
context: <% PROJECT_NAME >-dev
|
|
918
916
|
name: deploy_to_dev
|
|
@@ -922,7 +920,7 @@ workflows:
|
|
|
922
920
|
requires:
|
|
923
921
|
- init_aws_eks_dev
|
|
924
922
|
- publish_docker
|
|
925
|
-
-
|
|
923
|
+
- deploy_terraform:
|
|
926
924
|
<<: *only_on_master_branch
|
|
927
925
|
context: <% PROJECT_NAME >-dev
|
|
928
926
|
name: deploy_terraform_newrelic_dev
|
|
@@ -937,7 +935,7 @@ workflows:
|
|
|
937
935
|
type: approval
|
|
938
936
|
requires:
|
|
939
937
|
- deploy_to_dev
|
|
940
|
-
-
|
|
938
|
+
- init_aws:
|
|
941
939
|
<<: *only_on_master_branch
|
|
942
940
|
context: <% PROJECT_NAME >-dev
|
|
943
941
|
name: init_aws_staging
|
|
@@ -947,21 +945,21 @@ workflows:
|
|
|
947
945
|
update_kubeconfig: false
|
|
948
946
|
requires:
|
|
949
947
|
- approve_deploy_to_staging
|
|
950
|
-
-
|
|
948
|
+
- init_aws:
|
|
951
949
|
<<: *only_on_master_branch
|
|
952
950
|
name: init_aws_eks_staging
|
|
953
951
|
context: <% PROJECT_NAME >-stage
|
|
954
952
|
job_type: 'eks_staging'
|
|
955
953
|
requires:
|
|
956
954
|
- init_aws_staging
|
|
957
|
-
-
|
|
955
|
+
- upgrade_helm:
|
|
958
956
|
<<: *only_on_master_branch
|
|
959
957
|
name: deploy_to_staging
|
|
960
958
|
context: <% PROJECT_NAME >-stage
|
|
961
959
|
environment: staging
|
|
962
960
|
requires:
|
|
963
961
|
- init_aws_eks_staging
|
|
964
|
-
-
|
|
962
|
+
- deploy_terraform:
|
|
965
963
|
<<: *only_on_master_branch
|
|
966
964
|
context: <% PROJECT_NAME >-stage
|
|
967
965
|
name: deploy_terraform_newrelic_staging
|
|
@@ -976,7 +974,7 @@ workflows:
|
|
|
976
974
|
type: approval
|
|
977
975
|
requires:
|
|
978
976
|
- deploy_to_staging
|
|
979
|
-
-
|
|
977
|
+
- init_aws:
|
|
980
978
|
<<: *only_on_master_branch
|
|
981
979
|
context: <% PROJECT_NAME >-dev
|
|
982
980
|
name: init_aws_prod
|
|
@@ -986,28 +984,28 @@ workflows:
|
|
|
986
984
|
update_kubeconfig: false
|
|
987
985
|
requires:
|
|
988
986
|
- approve_deploy_to_prod
|
|
989
|
-
-
|
|
987
|
+
- create_release:
|
|
990
988
|
<<: *only_on_master_branch
|
|
991
989
|
name: create_release
|
|
992
990
|
context: <% PROJECT_NAME >-prod
|
|
993
991
|
requires:
|
|
994
992
|
- bump_version
|
|
995
993
|
- approve_deploy_to_prod
|
|
996
|
-
-
|
|
994
|
+
- init_aws:
|
|
997
995
|
<<: *only_on_master_branch
|
|
998
996
|
name: init_aws_eks_prod
|
|
999
997
|
context: <% PROJECT_NAME >-prod
|
|
1000
998
|
job_type: 'eks_prod'
|
|
1001
999
|
requires:
|
|
1002
1000
|
- init_aws_prod
|
|
1003
|
-
-
|
|
1001
|
+
- upgrade_helm:
|
|
1004
1002
|
<<: *only_on_master_branch
|
|
1005
1003
|
name: deploy_to_prod
|
|
1006
1004
|
context: <% PROJECT_NAME >-prod
|
|
1007
1005
|
environment: prod
|
|
1008
1006
|
requires:
|
|
1009
1007
|
- init_aws_eks_prod
|
|
1010
|
-
-
|
|
1008
|
+
- deploy_terraform:
|
|
1011
1009
|
<<: *only_on_master_branch
|
|
1012
1010
|
context: <% PROJECT_NAME >-prod
|
|
1013
1011
|
name: deploy_terraform_newrelic_prod
|
|
@@ -1017,7 +1015,7 @@ workflows:
|
|
|
1017
1015
|
apply: true
|
|
1018
1016
|
requires:
|
|
1019
1017
|
- deploy_to_prod
|
|
1020
|
-
-
|
|
1018
|
+
- promote_release:
|
|
1021
1019
|
<<: *only_on_master_branch
|
|
1022
1020
|
name: promote_release
|
|
1023
1021
|
context: <% PROJECT_NAME >-prod
|
|
@@ -1030,12 +1028,12 @@ workflows:
|
|
|
1030
1028
|
cron: '0 0 * * *'
|
|
1031
1029
|
<<: *only_on_master_branch
|
|
1032
1030
|
jobs:
|
|
1033
|
-
-
|
|
1031
|
+
- init_aws:
|
|
1034
1032
|
<<: *only_on_master_branch
|
|
1035
1033
|
context: <% PROJECT_NAME >-dev
|
|
1036
1034
|
name: init_aws_eks_pr
|
|
1037
1035
|
job_type: 'eks_pr'
|
|
1038
|
-
-
|
|
1036
|
+
- remove_all_pr_environments:
|
|
1039
1037
|
<<: *only_on_master_branch
|
|
1040
1038
|
context: <% PROJECT_NAME >-dev
|
|
1041
1039
|
requires:
|