@leverege/build-tools 2.6.7 → 2.6.10
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/lib/server/repo-init/config.tgz +0 -0
- package/package.json +3 -3
- package/src/circleate +52 -52
- package/src/helmup +37 -3
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@leverege/build-tools",
|
|
3
|
-
"version": "2.6.
|
|
3
|
+
"version": "2.6.10",
|
|
4
4
|
"description": "A collection of build / support tools for Leverege developers",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
"figlet": "^1.5.2",
|
|
62
62
|
"git-branch": "^2.0.1",
|
|
63
63
|
"glob": "^7.1.7",
|
|
64
|
-
"inquirer": "^8.1.
|
|
64
|
+
"inquirer": "^8.1.5",
|
|
65
65
|
"js-yaml": "^4.1.0",
|
|
66
66
|
"ncp": "^2.0.0",
|
|
67
67
|
"npm-check-updates": "^11.8.5",
|
|
@@ -79,6 +79,6 @@
|
|
|
79
79
|
"@babel/node": "^7.15.4",
|
|
80
80
|
"@leverege/babel-preset-leverege-node": "^2.0.0",
|
|
81
81
|
"@leverege/eslint-config-leverege": "^3.0.1",
|
|
82
|
-
"npm": "^7.
|
|
82
|
+
"npm": "^7.23.0"
|
|
83
83
|
}
|
|
84
84
|
}
|
package/src/circleate
CHANGED
|
@@ -57,14 +57,14 @@ jobs:
|
|
|
57
57
|
steps:
|
|
58
58
|
- checkout
|
|
59
59
|
- restore_cache:
|
|
60
|
-
keys:
|
|
60
|
+
keys:
|
|
61
61
|
- v1-npm-deps-{{ checksum "package-lock.json" }}
|
|
62
62
|
- v1-npm-deps-
|
|
63
|
-
|
|
63
|
+
|
|
64
64
|
- run:
|
|
65
65
|
name: Setup @leverege Token
|
|
66
66
|
command: echo \${NPMRC} > ~/.npmrc
|
|
67
|
-
|
|
67
|
+
|
|
68
68
|
- run: npm install
|
|
69
69
|
|
|
70
70
|
- save_cache:
|
|
@@ -84,17 +84,17 @@ jobs:
|
|
|
84
84
|
- checkout
|
|
85
85
|
- attach_workspace:
|
|
86
86
|
at: ~/project
|
|
87
|
-
- run:
|
|
87
|
+
- run:
|
|
88
88
|
name: Check for vulnerabilities
|
|
89
89
|
command: npm audit --production --audit-level=moderate
|
|
90
|
-
|
|
90
|
+
|
|
91
91
|
license-check:
|
|
92
92
|
docker:
|
|
93
93
|
- image: circleci/node:fermium
|
|
94
94
|
steps:
|
|
95
95
|
- checkout
|
|
96
96
|
- attach_workspace:
|
|
97
|
-
at: ~/project
|
|
97
|
+
at: ~/project
|
|
98
98
|
- run:
|
|
99
99
|
name: Check for LICENSE and README files
|
|
100
100
|
command: npm run pkglint
|
|
@@ -103,30 +103,30 @@ jobs:
|
|
|
103
103
|
name: Check for license violations (e.g. GPL)
|
|
104
104
|
command: npx license-checker --production --summary --failOn GPL
|
|
105
105
|
|
|
106
|
-
lint:
|
|
106
|
+
lint:
|
|
107
107
|
docker:
|
|
108
108
|
- image: circleci/node:fermium
|
|
109
109
|
steps:
|
|
110
110
|
- checkout
|
|
111
111
|
- attach_workspace:
|
|
112
|
-
at: ~/project
|
|
113
|
-
- run:
|
|
112
|
+
at: ~/project
|
|
113
|
+
- run:
|
|
114
114
|
name: Lint and save results
|
|
115
115
|
command: npm run lint-ci
|
|
116
116
|
|
|
117
117
|
- store_test_results:
|
|
118
118
|
path: reports
|
|
119
119
|
|
|
120
|
-
docs:
|
|
120
|
+
docs:
|
|
121
121
|
docker:
|
|
122
122
|
- image: circleci/node:fermium
|
|
123
123
|
steps:
|
|
124
124
|
- checkout
|
|
125
125
|
- attach_workspace:
|
|
126
|
-
at: ~/project
|
|
127
|
-
- run:
|
|
126
|
+
at: ~/project
|
|
127
|
+
- run:
|
|
128
128
|
name: Generate docs
|
|
129
|
-
command: npx jsdoc -r src -R README.md -d docs
|
|
129
|
+
command: npx jsdoc -r src -R README.md -d docs
|
|
130
130
|
- store_artifacts:
|
|
131
131
|
path: docs
|
|
132
132
|
prefix: docs
|
|
@@ -140,7 +140,7 @@ jobs:
|
|
|
140
140
|
# IF YOU NEED ANY OF THESE, UNCOMMENT TO USE
|
|
141
141
|
# - image: redis
|
|
142
142
|
# - image: circleci/mysql:5.7
|
|
143
|
-
# environment:
|
|
143
|
+
# environment:
|
|
144
144
|
# MYSQL_USER: root
|
|
145
145
|
# MYSQL_ROOT_PASSWORD: root
|
|
146
146
|
# MYSQL_ALLOW_EMPTY_PASSWORD: true
|
|
@@ -159,10 +159,10 @@ jobs:
|
|
|
159
159
|
steps:
|
|
160
160
|
- checkout
|
|
161
161
|
- attach_workspace:
|
|
162
|
-
at: ~/project
|
|
162
|
+
at: ~/project
|
|
163
163
|
|
|
164
164
|
# UNCOMMENT IF YOU NEED DECRYPTING SECRETS
|
|
165
|
-
# - run:
|
|
165
|
+
# - run:
|
|
166
166
|
# name: Load secrets
|
|
167
167
|
# command: npm run decrypt
|
|
168
168
|
|
|
@@ -173,11 +173,11 @@ jobs:
|
|
|
173
173
|
- run:
|
|
174
174
|
name: Check if coverage meets at least 70%
|
|
175
175
|
command: ./node_modules/.bin/nyc check-coverage --functions 70 --lines 70 --statements 70
|
|
176
|
-
|
|
176
|
+
|
|
177
177
|
- store_artifacts:
|
|
178
178
|
path: coverage
|
|
179
179
|
prefix: coverage
|
|
180
|
-
|
|
180
|
+
|
|
181
181
|
build:
|
|
182
182
|
# build should make dist image and prepare docker file
|
|
183
183
|
docker:
|
|
@@ -186,13 +186,13 @@ jobs:
|
|
|
186
186
|
steps:
|
|
187
187
|
- checkout
|
|
188
188
|
- attach_workspace:
|
|
189
|
-
at: ~/project
|
|
189
|
+
at: ~/project
|
|
190
190
|
|
|
191
191
|
- run:
|
|
192
192
|
name: Setup @leverege Token
|
|
193
|
-
command: echo \${NPMRC} > ~/.npmrc.ro
|
|
193
|
+
command: echo \${NPMRC} > ~/.npmrc.ro
|
|
194
194
|
|
|
195
|
-
- run:
|
|
195
|
+
- run:
|
|
196
196
|
name: Determine version number and container name
|
|
197
197
|
command: |
|
|
198
198
|
container="\`node -p \"require('./package.json').leverege.container\"\`"
|
|
@@ -205,8 +205,8 @@ jobs:
|
|
|
205
205
|
echo \$(git describe --tags) > package_version
|
|
206
206
|
echo \${container} > container_name
|
|
207
207
|
echo \${NODE_IMAGE} > node_img
|
|
208
|
-
|
|
209
|
-
- run:
|
|
208
|
+
|
|
209
|
+
- run:
|
|
210
210
|
name: Create Dockerfile and build dist directory
|
|
211
211
|
command: mkdir -p docker && npm run dockerize \$(git describe --tags)
|
|
212
212
|
|
|
@@ -236,14 +236,14 @@ workflows:
|
|
|
236
236
|
- coverage:
|
|
237
237
|
requires:
|
|
238
238
|
- install
|
|
239
|
-
- docs:
|
|
239
|
+
- docs:
|
|
240
240
|
requires:
|
|
241
241
|
- install
|
|
242
242
|
- build:
|
|
243
243
|
context: npm
|
|
244
244
|
filters:
|
|
245
245
|
branches:
|
|
246
|
-
only:
|
|
246
|
+
only:
|
|
247
247
|
- development
|
|
248
248
|
- /release-.*/
|
|
249
249
|
- master
|
|
@@ -267,14 +267,14 @@ jobs:
|
|
|
267
267
|
steps:
|
|
268
268
|
- checkout
|
|
269
269
|
- restore_cache:
|
|
270
|
-
keys:
|
|
270
|
+
keys:
|
|
271
271
|
- v1-npm-deps-{{ checksum "package-lock.json" }}
|
|
272
272
|
- v1-npm-deps-
|
|
273
273
|
|
|
274
274
|
- run:
|
|
275
275
|
name: Setup @leverege Token
|
|
276
276
|
command: echo \${NPMRC} > ~/.npmrc
|
|
277
|
-
|
|
277
|
+
|
|
278
278
|
- run: npm install
|
|
279
279
|
|
|
280
280
|
- save_cache:
|
|
@@ -294,17 +294,17 @@ jobs:
|
|
|
294
294
|
- checkout
|
|
295
295
|
- attach_workspace:
|
|
296
296
|
at: ~/project
|
|
297
|
-
- run:
|
|
297
|
+
- run:
|
|
298
298
|
name: Check for vulnerabilities
|
|
299
299
|
command: npm audit --production --audit-level=moderate
|
|
300
|
-
|
|
300
|
+
|
|
301
301
|
license-check:
|
|
302
302
|
docker:
|
|
303
303
|
- image: circleci/node:fermium
|
|
304
304
|
steps:
|
|
305
305
|
- checkout
|
|
306
306
|
- attach_workspace:
|
|
307
|
-
at: ~/project
|
|
307
|
+
at: ~/project
|
|
308
308
|
- run:
|
|
309
309
|
name: Check for LICENSE and README files
|
|
310
310
|
command: npm run pkglint
|
|
@@ -313,30 +313,30 @@ jobs:
|
|
|
313
313
|
name: Check for license violations (e.g. GPL)
|
|
314
314
|
command: npx license-checker --production --summary --failOn GPL
|
|
315
315
|
|
|
316
|
-
lint:
|
|
316
|
+
lint:
|
|
317
317
|
docker:
|
|
318
318
|
- image: circleci/node:fermium
|
|
319
319
|
steps:
|
|
320
320
|
- checkout
|
|
321
321
|
- attach_workspace:
|
|
322
|
-
at: ~/project
|
|
323
|
-
- run:
|
|
322
|
+
at: ~/project
|
|
323
|
+
- run:
|
|
324
324
|
name: Lint and save results
|
|
325
325
|
command: npm run lint-ci
|
|
326
326
|
|
|
327
327
|
- store_test_results:
|
|
328
328
|
path: reports
|
|
329
329
|
|
|
330
|
-
docs:
|
|
330
|
+
docs:
|
|
331
331
|
docker:
|
|
332
332
|
- image: circleci/node:fermium
|
|
333
333
|
steps:
|
|
334
334
|
- checkout
|
|
335
335
|
- attach_workspace:
|
|
336
|
-
at: ~/project
|
|
337
|
-
- run:
|
|
336
|
+
at: ~/project
|
|
337
|
+
- run:
|
|
338
338
|
name: Generate docs
|
|
339
|
-
command: npx jsdoc -r src -R README.md -d docs
|
|
339
|
+
command: npx jsdoc -r src -R README.md -d docs
|
|
340
340
|
- store_artifacts:
|
|
341
341
|
path: docs
|
|
342
342
|
prefix: docs
|
|
@@ -350,7 +350,7 @@ jobs:
|
|
|
350
350
|
# IF YOU NEED ANY OF THESE, UNCOMMENT TO USE
|
|
351
351
|
# - image: redis
|
|
352
352
|
# - image: circleci/mysql:5.7
|
|
353
|
-
# environment:
|
|
353
|
+
# environment:
|
|
354
354
|
# MYSQL_USER: root
|
|
355
355
|
# MYSQL_ROOT_PASSWORD: root
|
|
356
356
|
# MYSQL_ALLOW_EMPTY_PASSWORD: true
|
|
@@ -369,10 +369,10 @@ jobs:
|
|
|
369
369
|
steps:
|
|
370
370
|
- checkout
|
|
371
371
|
- attach_workspace:
|
|
372
|
-
at: ~/project
|
|
372
|
+
at: ~/project
|
|
373
373
|
|
|
374
374
|
# UNCOMMENT IF YOU NEED DECRYPTING SECRETS
|
|
375
|
-
# - run:
|
|
375
|
+
# - run:
|
|
376
376
|
# name: Load secrets
|
|
377
377
|
# command: npm run decrypt
|
|
378
378
|
|
|
@@ -383,7 +383,7 @@ jobs:
|
|
|
383
383
|
- run:
|
|
384
384
|
name: Check if coverage meets at least 70%
|
|
385
385
|
command: ./node_modules/.bin/nyc check-coverage --functions 70 --lines 70 --statements 70
|
|
386
|
-
|
|
386
|
+
|
|
387
387
|
- store_artifacts:
|
|
388
388
|
path: coverage
|
|
389
389
|
prefix: coverage
|
|
@@ -406,7 +406,7 @@ workflows:
|
|
|
406
406
|
- coverage:
|
|
407
407
|
requires:
|
|
408
408
|
- install
|
|
409
|
-
- docs:
|
|
409
|
+
- docs:
|
|
410
410
|
requires:
|
|
411
411
|
- install
|
|
412
412
|
EOCIRCLE
|
|
@@ -414,7 +414,7 @@ EOCIRCLE
|
|
|
414
414
|
|
|
415
415
|
create_ui_config(){
|
|
416
416
|
cat<<FIREBASEINFO
|
|
417
|
-
|
|
417
|
+
|
|
418
418
|
You need to setup Firebase hosting using the cli tool before configuring CI.
|
|
419
419
|
Please make sure .firebaserc and firebase.json are configured with targets set like:
|
|
420
420
|
|
|
@@ -480,10 +480,10 @@ jobs:
|
|
|
480
480
|
steps:
|
|
481
481
|
- checkout
|
|
482
482
|
- restore_cache:
|
|
483
|
-
keys:
|
|
483
|
+
keys:
|
|
484
484
|
- v1-npm-deps-{{ checksum "package-lock.json" }}
|
|
485
485
|
- v1-npm-deps-
|
|
486
|
-
|
|
486
|
+
|
|
487
487
|
- run:
|
|
488
488
|
name: Setup @leverege Token
|
|
489
489
|
command: echo \${NPMRC} > ~/.npmrc
|
|
@@ -508,7 +508,7 @@ jobs:
|
|
|
508
508
|
paths:
|
|
509
509
|
- dist
|
|
510
510
|
|
|
511
|
-
deploy-dev:
|
|
511
|
+
deploy-dev:
|
|
512
512
|
docker:
|
|
513
513
|
- image: circleci/node:fermium
|
|
514
514
|
steps:
|
|
@@ -519,7 +519,7 @@ jobs:
|
|
|
519
519
|
name: Deploy to dev site
|
|
520
520
|
command: firebase use $DEV_PROJ && firebase deploy --token "\$FIREBASE_TOKEN" --only hosting:$DEV_TARGET
|
|
521
521
|
|
|
522
|
-
deploy-prod:
|
|
522
|
+
deploy-prod:
|
|
523
523
|
docker:
|
|
524
524
|
- image: circleci/node:fermium
|
|
525
525
|
steps:
|
|
@@ -535,7 +535,7 @@ workflows:
|
|
|
535
535
|
build-deploy-dev:
|
|
536
536
|
jobs:
|
|
537
537
|
- build:
|
|
538
|
-
context: npm
|
|
538
|
+
context: npm
|
|
539
539
|
- slack/approval-notification:
|
|
540
540
|
context: slack
|
|
541
541
|
- deploy-dev:
|
|
@@ -546,9 +546,9 @@ workflows:
|
|
|
546
546
|
only: development
|
|
547
547
|
requires:
|
|
548
548
|
- build
|
|
549
|
-
- status:
|
|
549
|
+
- status:
|
|
550
550
|
context: slack
|
|
551
|
-
requires:
|
|
551
|
+
requires:
|
|
552
552
|
- deploy-dev
|
|
553
553
|
|
|
554
554
|
build-deploy-prod:
|
|
@@ -568,9 +568,9 @@ workflows:
|
|
|
568
568
|
only: master
|
|
569
569
|
requires:
|
|
570
570
|
- build
|
|
571
|
-
- status:
|
|
571
|
+
- status:
|
|
572
572
|
context: slack
|
|
573
|
-
requires:
|
|
573
|
+
requires:
|
|
574
574
|
- deploy-prod
|
|
575
575
|
|
|
576
576
|
EOCIRCLE
|
package/src/helmup
CHANGED
|
@@ -237,12 +237,46 @@ function getManagedSecret() {
|
|
|
237
237
|
echo $SECRET
|
|
238
238
|
}
|
|
239
239
|
|
|
240
|
+
function getProjectIdFromK8sContext() {
|
|
241
|
+
local currContext=`kubectl config current-context`
|
|
242
|
+
|
|
243
|
+
IFS='_'
|
|
244
|
+
read -ra ADDR <<< "$currContext"
|
|
245
|
+
|
|
246
|
+
echo ${ADDR[1]} # project id is the second string split by _
|
|
247
|
+
}
|
|
248
|
+
|
|
240
249
|
# https://github.com/estafette/estafette-gke-preemptible-killer
|
|
241
250
|
function installPreemptibleKiller() {
|
|
251
|
+
PROJECT_ID="$(getProjectIdFromK8sContext)"
|
|
252
|
+
createNamespaceIfNeeded estafette
|
|
242
253
|
helm repo add estafette https://helm.estafette.io &>/dev/null
|
|
243
|
-
helm upgrade --install estafette-gke-preemptible-killer \
|
|
244
|
-
estafette/estafette-gke-preemptible-killer --namespace estafette
|
|
245
254
|
|
|
255
|
+
gcloud iam service-accounts create preemptible-killer \
|
|
256
|
+
--project=$PROJECT_ID \
|
|
257
|
+
--display-name preemptible-killer
|
|
258
|
+
|
|
259
|
+
gcloud iam roles create preemptible_killer \
|
|
260
|
+
--project $PROJECT_ID \
|
|
261
|
+
--title preemptible-killer \
|
|
262
|
+
--description "Delete compute instances" \
|
|
263
|
+
--permissions compute.instances.delete
|
|
264
|
+
|
|
265
|
+
local service_account_email=$(gcloud iam --project=$PROJECT_ID service-accounts list --filter preemptible-killer --format 'value([email])')
|
|
266
|
+
gcloud projects add-iam-policy-binding $PROJECT_ID \
|
|
267
|
+
--member=serviceAccount:${service_account_email} \
|
|
268
|
+
--role=projects/${PROJECT_ID}/roles/preemptible_killer &>/dev/null
|
|
269
|
+
|
|
270
|
+
gcloud iam service-accounts keys create \
|
|
271
|
+
--project=$PROJECT_ID \
|
|
272
|
+
--iam-account $service_account_email \
|
|
273
|
+
google_service_account.json &>/dev/null
|
|
274
|
+
|
|
275
|
+
helm upgrade --install estafette-gke-preemptible-killer \
|
|
276
|
+
estafette/estafette-gke-preemptible-killer \
|
|
277
|
+
--namespace estafette \
|
|
278
|
+
--set extraEnv.BLACKLIST_HOURS="10:00-02:00"
|
|
279
|
+
# --set extraEnv.WHITELIST_HOURS="12:30-13:30"
|
|
246
280
|
}
|
|
247
281
|
|
|
248
282
|
function installTraefik() {
|
|
@@ -455,7 +489,7 @@ function doInstall() {
|
|
|
455
489
|
# Allows chart version as <deployment>/Chart-x.y.z*>
|
|
456
490
|
if [ -z "$CHARTVER" ];
|
|
457
491
|
then
|
|
458
|
-
LCL_CHART=`compgen -G $SERVICE/Chart
|
|
492
|
+
LCL_CHART=`compgen -G $SERVICE/Chart-?*.?*.?*` &>/dev/null
|
|
459
493
|
if [ ! -z "$LCL_CHART" ];
|
|
460
494
|
then
|
|
461
495
|
CHARTVER=${LCL_CHART#*/Chart-}
|