Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DOP-4451: Spin up autobuilder workers when sites are deployed for smoke testing #1020

Closed
wants to merge 261 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
261 commits
Select commit Hold shift + click to select a range
f9d4616
DOP-4414 checks build on main
anabellabuckvar Mar 12, 2024
63b183f
DOP-4414 update validation
anabellabuckvar Mar 12, 2024
295f27f
DOP-4414 deploy to preprd
anabellabuckvar Mar 12, 2024
8d09650
DOP-4414 testing webhook
anabellabuckvar Mar 12, 2024
807be13
DOP-4414 testing lambda
anabellabuckvar Mar 12, 2024
2671250
DOP-4414 testing lambda
anabellabuckvar Mar 12, 2024
01dc7b8
DOP-4414 testing lambda
anabellabuckvar Mar 12, 2024
e60b482
DOP-4414 testing lambda
anabellabuckvar Mar 12, 2024
b73845d
DOP-4414 testing lambda
anabellabuckvar Mar 12, 2024
c44d6bf
DOP-4414 testing lambda
anabellabuckvar Mar 12, 2024
9b9b25d
DOP-4414 testing lambda
anabellabuckvar Mar 12, 2024
9d6d0d5
DOP-4414 testing lambda
anabellabuckvar Mar 12, 2024
e9dd2a1
DOP-4414 testing lambda
anabellabuckvar Mar 12, 2024
47eee25
DOP-4414 testing lambda
anabellabuckvar Mar 12, 2024
aa1904e
DOP-4414 testing lambda
anabellabuckvar Mar 12, 2024
c85b210
DOP-4414 testing lambda
anabellabuckvar Mar 12, 2024
1298971
DOP-4414 testing lambda
anabellabuckvar Mar 12, 2024
b76af20
DOP-4414 testing lambda
anabellabuckvar Mar 12, 2024
46cf92e
DOP-4414 testing lambda
anabellabuckvar Mar 12, 2024
aba0f43
DOP-4414 testing lambda
anabellabuckvar Mar 12, 2024
dcebb4f
DOP-4414 testing lambda
anabellabuckvar Mar 12, 2024
c6809ff
DOP-4414 testing lambda
anabellabuckvar Mar 12, 2024
f43dd05
DOP-4414 testing lambda
anabellabuckvar Mar 12, 2024
e80cdab
DOP-4414 testing lambda
anabellabuckvar Mar 12, 2024
c187a36
DOP-4414 testing lambda
anabellabuckvar Mar 12, 2024
c088704
DOP-4414 testing lambda
anabellabuckvar Mar 13, 2024
e886331
DOP-4414 testing lambda
anabellabuckvar Mar 13, 2024
9acfb29
DOP-4414 testing lambda
anabellabuckvar Mar 13, 2024
93a360a
DOP-4414 testing lambda
anabellabuckvar Mar 13, 2024
ca3814c
DOP-4414 testing lambda
anabellabuckvar Mar 13, 2024
0bf36a5
DOP-4414 testing lambda
anabellabuckvar Mar 13, 2024
1ce574b
DOP-4414 testing lambda
anabellabuckvar Mar 13, 2024
c51a0e0
DOP-4414 testing lambda
anabellabuckvar Mar 13, 2024
a43b0db
DOP-4414 testing lambda
anabellabuckvar Mar 13, 2024
285f88e
DOP-4414 testing lambda
anabellabuckvar Mar 13, 2024
b420a80
DOP-4414 testing lambda
anabellabuckvar Mar 13, 2024
14280a6
DOP-4414 testing lambda
anabellabuckvar Mar 13, 2024
8844c5a
DOP-4414 testing lambda
anabellabuckvar Mar 13, 2024
dfa6854
DOP-4414 testing lambda
anabellabuckvar Mar 13, 2024
81461c2
DOP-4414 testing lambda
anabellabuckvar Mar 13, 2024
3a6c918
DOP-4414 testing lambda
anabellabuckvar Mar 13, 2024
c9a40ea
DOP-4414 testing lambda
anabellabuckvar Mar 13, 2024
d603529
DOP-4414 testing lambda
anabellabuckvar Mar 13, 2024
e650b15
DOP-4414 testing lambda
anabellabuckvar Mar 13, 2024
26f648b
DOP-4414 testing lambda
anabellabuckvar Mar 13, 2024
0fb91a1
DOP-4414 testing lambda
anabellabuckvar Mar 13, 2024
33f91cf
DOP-4414 testing lambda
anabellabuckvar Mar 13, 2024
d895253
DOP-4414 testing lambda
anabellabuckvar Mar 13, 2024
b1c8c27
DOP-4414 testing lambda
anabellabuckvar Mar 13, 2024
64e1c34
DOP-4414 testing lambda
anabellabuckvar Mar 13, 2024
0a83774
DOP-4414 testing lambda
anabellabuckvar Mar 13, 2024
bddde4c
DOP-4414 testing lambda
anabellabuckvar Mar 13, 2024
e3f4151
DOP-4414 testing lambda
anabellabuckvar Mar 13, 2024
ba4dbae
DOP-4414 testing lambda
anabellabuckvar Mar 13, 2024
666debf
DOP-4414 testing lambda
anabellabuckvar Mar 13, 2024
97f61fd
DOP-4414 testing lambda
anabellabuckvar Mar 13, 2024
b1a0423
DOP-4414 testing lambda
anabellabuckvar Mar 13, 2024
c81dce1
DOP-4414 testing lambda
anabellabuckvar Mar 13, 2024
b4bca05
DOP-4414 testing lambda
anabellabuckvar Mar 13, 2024
783dd3b
DOP-4414 testing lambda
anabellabuckvar Mar 13, 2024
ad1bd54
DOP-4414 testing lambda
anabellabuckvar Mar 13, 2024
a574352
DOP-4414 testing lambda
anabellabuckvar Mar 13, 2024
622f914
DOP-4414 testing lambda
anabellabuckvar Mar 13, 2024
65572bb
DOP-4414 testing lambda
anabellabuckvar Mar 13, 2024
23cab1f
DOP-4414 testing lambda
anabellabuckvar Mar 13, 2024
81ff14f
DOP-4414 testing lambda
anabellabuckvar Mar 13, 2024
452bd57
DOP-4414 testing lambda
anabellabuckvar Mar 13, 2024
ca67083
DOP-4414 testing lambda
anabellabuckvar Mar 13, 2024
e1c7d11
DOP-4414 testing lambda
anabellabuckvar Mar 13, 2024
8dd1e0c
DOP-4414 testing lambda
anabellabuckvar Mar 13, 2024
521092b
DOP-4414 testing lambda
anabellabuckvar Mar 13, 2024
ea6eb17
DOP-4414 testing lambda
anabellabuckvar Mar 13, 2024
3864344
DOP-4414 more changes
anabellabuckvar Mar 13, 2024
61eb93e
DOP-4414 cleaning up
anabellabuckvar Mar 13, 2024
62d9ee3
DOP-4414 cleaning up
anabellabuckvar Mar 13, 2024
7d55d9d
DOP-4414 push to preprd
anabellabuckvar Mar 14, 2024
3cddb7f
DOP-4414 push to preprd
anabellabuckvar Mar 14, 2024
5dc7ff3
DOP-4414 push to preprd
anabellabuckvar Mar 14, 2024
8100244
DOP-4414 push to preprd
anabellabuckvar Mar 14, 2024
49e106a
DOP-4414 push to preprd
anabellabuckvar Mar 14, 2024
33c1d31
DOP-4414 push to preprd
anabellabuckvar Mar 14, 2024
20ab10f
DOP-4414 push to preprd
anabellabuckvar Mar 14, 2024
221187a
DOP-4414 push to preprd
anabellabuckvar Mar 14, 2024
56e63cf
DOP-4414 push to preprd
anabellabuckvar Mar 14, 2024
099bbbe
DOP-4414 push to preprd
anabellabuckvar Mar 14, 2024
16a4057
DOP-4414 push to preprd
anabellabuckvar Mar 14, 2024
ac84af3
DOP-4414 push to preprd
anabellabuckvar Mar 14, 2024
c3c32aa
DOP-4414 push to preprd
anabellabuckvar Mar 14, 2024
0c7b269
DOP-4414 push to preprd
anabellabuckvar Mar 14, 2024
c15f5bb
DOP-4414 push to preprd
anabellabuckvar Mar 14, 2024
39f729d
DOP-4414 push to preprd
anabellabuckvar Mar 14, 2024
8e378d2
DOP-4414 push to preprd
anabellabuckvar Mar 14, 2024
ab21345
DOP-4414 return true early
anabellabuckvar Mar 14, 2024
d3a7632
DOP-4414 return true early
anabellabuckvar Mar 14, 2024
cdc2a80
DOP-4414 return true early
anabellabuckvar Mar 14, 2024
49262cc
DOP-4414 return true early
anabellabuckvar Mar 14, 2024
4eb40e0
DOP-4414 return true early
anabellabuckvar Mar 14, 2024
4c27e3a
DOP-4414 return true early
anabellabuckvar Mar 14, 2024
debac8f
DOP-4414 return true early
anabellabuckvar Mar 15, 2024
fbb6987
DOP-4414 return true early
anabellabuckvar Mar 15, 2024
0dd6ecc
DOP-4414 remove validation
anabellabuckvar Mar 15, 2024
8280c1b
DOP-4414 fewer sites
anabellabuckvar Mar 15, 2024
84768ee
DOP-4414 fewer sites
anabellabuckvar Mar 15, 2024
a324aa9
DOP-4414 fewer sites
anabellabuckvar Mar 15, 2024
d1aa508
DOP-4414 fewer sites
anabellabuckvar Mar 15, 2024
c3f01ff
DOP-4414 fewer sites
anabellabuckvar Mar 15, 2024
51bc791
DOP-4414 fewer sites
anabellabuckvar Mar 15, 2024
7035d96
DOP-4414 fewer sites
anabellabuckvar Mar 15, 2024
bed862c
DOP-4414 fewer sites
anabellabuckvar Mar 15, 2024
304cc33
DOP-4414 testing job prefix
anabellabuckvar Mar 15, 2024
511d6d7
DOP-4414 testing job prefix
anabellabuckvar Mar 15, 2024
f509707
DOP-4414 testing job prefix
anabellabuckvar Mar 15, 2024
98a2e69
DOP-4414 testing job prefix
anabellabuckvar Mar 15, 2024
2b2c108
DOP-4414 testing job prefix
anabellabuckvar Mar 15, 2024
0811ee2
DOP-4414 testing job prefix
anabellabuckvar Mar 16, 2024
f09d8e1
DOP-4414 testing job prefix
anabellabuckvar Mar 16, 2024
4a37c8d
DOP-4414 testing job prefix
anabellabuckvar Mar 16, 2024
68bd960
DOP-4414 testing job prefix
anabellabuckvar Mar 16, 2024
bb47d60
DOP-4414 testing job prefix
anabellabuckvar Mar 16, 2024
48722fe
DOP-4414 testing job prefix
anabellabuckvar Mar 16, 2024
8edf348
DOP-4414 testing job prefix
anabellabuckvar Mar 16, 2024
48e8e72
DOP-4414 testing job prefix
anabellabuckvar Mar 16, 2024
6237463
DOP-4414 testing job prefix
anabellabuckvar Mar 17, 2024
a2f7f1f
DOP-4414 testing
anabellabuckvar Mar 18, 2024
489efa1
DOP-4414 testing
anabellabuckvar Mar 18, 2024
7a9b1ae
DOP-4414 testing
anabellabuckvar Mar 18, 2024
cc36292
DOP-4414 testing
anabellabuckvar Mar 18, 2024
fd61bfc
DOP-4414 testing
anabellabuckvar Mar 18, 2024
bc14ddf
DOP-4414 testing
anabellabuckvar Mar 18, 2024
3bc7982
DOP-4414 testing
anabellabuckvar Mar 18, 2024
484d6a1
DOP-4414 testing
anabellabuckvar Mar 18, 2024
d5aa217
DOP-4414 testing
anabellabuckvar Mar 18, 2024
69a0086
DOP-4414 testing
anabellabuckvar Mar 18, 2024
25f19b8
DOP-4414 testing
anabellabuckvar Mar 18, 2024
50a685a
DOP-4414 testing jobupdates queue
anabellabuckvar Mar 18, 2024
a0088eb
DOP-4414 testing refactor
anabellabuckvar Mar 18, 2024
60ddb03
DOP-4414 testing refactor
anabellabuckvar Mar 18, 2024
41787bf
DOP-4414 testing jobupdatesqueue
anabellabuckvar Mar 18, 2024
7799369
DOP-4414 cleaning up
anabellabuckvar Mar 18, 2024
c11c3ba
Merge branch 'main' into DOP-4414
anabellabuckvar Mar 18, 2024
10bf719
DOP-4414 webhook update and cleaning
anabellabuckvar Mar 18, 2024
db82c8d
DOP-4414 secret
anabellabuckvar Mar 18, 2024
635025b
DOP-4414 checking main
anabellabuckvar Mar 18, 2024
98c4a15
DOP-4414 checking main
anabellabuckvar Mar 18, 2024
aee5cd4
DOP-4414 types and env vars
anabellabuckvar Mar 19, 2024
bce69c3
DOP-4414 comment out check for main branch
anabellabuckvar Mar 19, 2024
c86c466
DOP-4414 entitlements repos
anabellabuckvar Mar 19, 2024
c4ac837
DOP-4414 testing
anabellabuckvar Mar 19, 2024
2c3693a
revert "DOP-4414 testing"
anabellabuckvar Mar 19, 2024
242cf10
Revert "DOP-4414 entitlements repos"
anabellabuckvar Mar 19, 2024
40a1194
Revert "DOP-4414 comment out check for main branch"
anabellabuckvar Mar 19, 2024
6ccdc00
reverting commit
anabellabuckvar Mar 19, 2024
c2b1f57
DOP-4414 comment out main check for testing
anabellabuckvar Mar 19, 2024
abdd426
DOP-4414 testing
anabellabuckvar Mar 19, 2024
1a79d7b
DOP-4414 add branch to deploy enhanced worker
anabellabuckvar Mar 19, 2024
273da47
DOP-4414 add branch to deploy enhanced webhook
anabellabuckvar Mar 20, 2024
ca9bb9f
DOP-4414 add branch to deploy enhanced webhook
anabellabuckvar Mar 20, 2024
dccda66
DOP-4414 add branch to deploy enhanced webhook
anabellabuckvar Mar 20, 2024
d953ccd
DOP-4414 add branch to deploy enhanced webhook
anabellabuckvar Mar 20, 2024
c0fe254
DOP-4414 nits
anabellabuckvar Mar 20, 2024
b28d519
DOP-4414 fixing small error
anabellabuckvar Mar 20, 2024
61b2c33
DOP-4414 refactoring promises
anabellabuckvar Mar 20, 2024
47d0600
DOP-4414 testing new promise format
anabellabuckvar Mar 20, 2024
654f59b
DOP-4414 testing new promise format
anabellabuckvar Mar 20, 2024
3fefba1
DOP-4414 testing new promise format
anabellabuckvar Mar 20, 2024
025a872
DOP-4414 refactoring and cleaning
anabellabuckvar Mar 20, 2024
2797e71
DOP-4414 refactoring and cleaning
anabellabuckvar Mar 20, 2024
b82af1a
DOP-4414 adding projects collection as constant
anabellabuckvar Mar 21, 2024
70c67bd
DOP-4414 add docs_metadata as constant
anabellabuckvar Mar 21, 2024
73ce79e
DOP-4414 remove unecessary vars from the configs
anabellabuckvar Mar 25, 2024
2563973
DOP-4414 readded name
anabellabuckvar Mar 25, 2024
bfb75a9
DOP-4414 testing
anabellabuckvar Mar 25, 2024
b48eff1
DOP-4414 testing env vars
anabellabuckvar Mar 25, 2024
b0fcb25
DOP-4414 testing env vars
anabellabuckvar Mar 25, 2024
98be689
DOP-4414 testing env vars
anabellabuckvar Mar 25, 2024
7a85e8b
DOP-4414 testing env vars
anabellabuckvar Mar 25, 2024
aaf71e9
DOP-4414 testing env vars
anabellabuckvar Mar 25, 2024
d0071fd
DOP-4414 testing env vars removing from yamls
anabellabuckvar Mar 25, 2024
2c71ab2
DOP-4414 testing env vars removing adding back to yamll
anabellabuckvar Mar 25, 2024
7a62fc3
DOP-4414 testing env vars removing adding back to yamll
anabellabuckvar Mar 25, 2024
cde1bdd
DOP-4414 testing env vars removing from get-env-vars
anabellabuckvar Mar 25, 2024
88def81
DOP-4414 testing env vars removing from get-env-vars
anabellabuckvar Mar 25, 2024
e6a2906
DOP-4414 testing env vars removing jsons
anabellabuckvar Mar 25, 2024
2f6b1a0
DOP-4414 ssm putparam
anabellabuckvar Mar 25, 2024
ea685a6
DOP-4414 removing env vars
anabellabuckvar Mar 25, 2024
7d1a06f
DOP-4414 removing env vars
anabellabuckvar Mar 25, 2024
8e39c0b
DOP-4414 removing more env vars
anabellabuckvar Mar 25, 2024
0838c01
DOP-4414 removing more env vars
anabellabuckvar Mar 25, 2024
73875bf
DOP-4414 uncomment main branch check
anabellabuckvar Mar 25, 2024
770ffcc
DOP-4414 cleaning up
anabellabuckvar Mar 25, 2024
2da0106
DOP-4414 last cleaning
anabellabuckvar Mar 25, 2024
3bf25c6
Merge branch 'main' into DOP-4414
anabellabuckvar Mar 25, 2024
a164201
Merge branch 'main' into DOP-4414
anabellabuckvar Mar 26, 2024
7fddfaa
DOP-4414 removing from preprd
anabellabuckvar Mar 26, 2024
f5f685a
DOP-4451 initial comments and push to preprd
anabellabuckvar Mar 26, 2024
23b57ce
DOP-4451 testing commit prefix
anabellabuckvar Mar 26, 2024
8f36ebf
DOP-4451 testing commit prefix
anabellabuckvar Mar 26, 2024
c42fd0c
DOP-4451 checks issues
anabellabuckvar Mar 26, 2024
53debf7
DOP-4451 checks issues
anabellabuckvar Mar 26, 2024
e295148
DOP-4451 updating feature branch
anabellabuckvar Mar 26, 2024
045637a
DOP-4451 updating enhanced app
anabellabuckvar Mar 26, 2024
07f0ecb
DOP-4451 testing path prefix
anabellabuckvar Mar 26, 2024
73f09d0
DOP-4451 update path prefix and log it
anabellabuckvar Mar 26, 2024
697293e
DOP-4451 messing w prefix
anabellabuckvar Mar 27, 2024
5cd4e19
DOP-4451 messing w prefix more
anabellabuckvar Mar 27, 2024
5dadded
DOP-4452 spacing nit
anabellabuckvar Mar 27, 2024
3912f49
DOP-4451 testing mut prefix
anabellabuckvar Mar 27, 2024
90d0acf
DOP-4451 remove uneccesary space"
anabellabuckvar Mar 27, 2024
49b2f0c
DOP-4451 removing from preprd and enhanced-webhooks
anabellabuckvar Apr 3, 2024
ce27d06
DOP-4451 undoing prefix changes
anabellabuckvar Apr 9, 2024
b14a005
DOP-4451 filling out initial TODOs
anabellabuckvar Apr 9, 2024
37a5184
DOP-4451 configured additional workers for each smoketest job
anabellabuckvar Apr 9, 2024
9417462
DOP-4451 fixed cdk-infra consistency
anabellabuckvar Apr 9, 2024
3f51199
DOP-4451 additional corrections from Brandon session
anabellabuckvar Apr 10, 2024
39283d6
Merge branch 'main' into DOP-4451
anabellabuckvar Apr 11, 2024
bb99a62
DOP-4451 push to preprd and runTasks
anabellabuckvar Apr 11, 2024
c4ffa74
Fix pipeline
branberry Apr 11, 2024
9e58f36
Fix pipeline
branberry Apr 11, 2024
c5b0627
DOP-4451 remove main branch check
anabellabuckvar Apr 11, 2024
f6ca576
Update deploy step
branberry Apr 15, 2024
61d1a97
DOP-4451 undo changes
anabellabuckvar Apr 15, 2024
4630351
DOP-4451 remove branch from enhanced worker yml
anabellabuckvar Apr 15, 2024
1425d16
Destroy webhooks before updating
branberry Apr 15, 2024
08932c1
DOP-4451 push to preprd
anabellabuckvar May 1, 2024
e532d41
DOP-4451 pushing to preprd
anabellabuckvar May 6, 2024
ecbfdec
Merge branch 'main' into DOP-4451
anabellabuckvar May 6, 2024
6281f69
DOP-4451 comment out paths
anabellabuckvar May 6, 2024
df2894e
DOP-4451 fixing cluster, logging
anabellabuckvar May 6, 2024
28c7ed0
DOP-4451 fixing comment out runadditionaltasks
anabellabuckvar May 6, 2024
a4f9d47
[DOP-4451]: Spread env vars for smoke test
branberry May 7, 2024
184ff33
DOP-4451 add environment spread
anabellabuckvar May 7, 2024
3625d33
DOP-4451 run tasks
anabellabuckvar May 7, 2024
39f1454
Merge branch 'main' into DOP-4451
anabellabuckvar May 7, 2024
4ae32ce
Merge branch 'main' into DOP-4451
anabellabuckvar May 7, 2024
3083fb1
DOP-4451 update dockerfile to use main branch of snooty
anabellabuckvar May 7, 2024
8fd47c9
DOP-4451 move spin up additional tasks into for loop
anabellabuckvar May 7, 2024
2be0674
DOP-4451 webhookApiConstruct props
anabellabuckvar May 7, 2024
ee7b1c9
DOP-4451 testing slack stuff and updating props
anabellabuckvar May 7, 2024
8a839e2
DOP-4451 fix name
anabellabuckvar May 7, 2024
2576176
DOP-4451 logging
anabellabuckvar May 7, 2024
3c398d3
DOP-4451 fix logging
anabellabuckvar May 7, 2024
5555f3f
DOP-4451 logging
anabellabuckvar May 7, 2024
50d2c9e
DOP-4451 logging
anabellabuckvar May 7, 2024
9b0c30d
DOP-4451 comment out runadditionaltasks
anabellabuckvar May 8, 2024
79ebea7
[DOP-4451]: Update protect tasks
branberry May 8, 2024
94208b2
[DOP-4451]: Refactor enhanced deploy
branberry May 8, 2024
f1b6118
DOP-4451 deploy to preprd with additional slack check
anabellabuckvar May 9, 2024
cc44ac8
DOP-4451 adding logging
anabellabuckvar May 9, 2024
c47bdd6
DOP-4451 remove some logs
anabellabuckvar May 9, 2024
884c492
DOP-4451 remove some logs
anabellabuckvar May 9, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/workflows/deploy-stg-ecs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ on:
branches:
- "main"
- "integration"
- "DOP-4451"
concurrency:
group: environment-stg-${{ github.ref }}
cancel-in-progress: true
Expand Down
7 changes: 4 additions & 3 deletions .github/workflows/deploy-stg-enhanced-webhooks.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
on:
push:
paths: ['api/**', 'cdk-infra/lib/constructs/api/**', 'cdk-infra/utils/**']
# paths: [api/**', 'cdk-infra/lib/constructs/api/**', 'cdk-infra/utils/**']
branches:
- 'main'
- 'integration'
- "main"
- "integration"
- "DOP-4451"
concurrency:
group: environment-stg-enhanced-webhooks-${{ github.ref }}
cancel-in-progress: true
Expand Down
10 changes: 7 additions & 3 deletions .github/workflows/deploy-stg-enhanced-worker.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
on:
push:
paths: ['src/**', 'cdk-infra/lib/constructs/worker/**', 'Dockerfile', 'modules/**']
# paths: ['src/**', 'cdk-infra/lib/constructs/worker/**', 'Dockerfile', 'modules/**']
branches:
- 'main'
- 'integration'
- 'DOP-4451'
concurrency:
group: environment-stg-enhanced-worker-${{ github.ref }}
cancel-in-progress: true
Expand All @@ -27,5 +28,8 @@ jobs:
npm ci
cd cdk-infra/
npm ci
npm run deploy:feature:stack -- -c env=dotcomstg -c customFeatureName=enhancedApp-dotcomstg auto-builder-stack-enhancedApp-dotcomstg-worker
npm run deploy:feature:stack -- -c env=stg -c customFeatureName=enhancedApp-stg auto-builder-stack-enhancedApp-stg-worker
npm run cdk destroy -- -c customFeatureName=enhancedApp-dotcomstg --force auto-builder-stack-enhancedApp-dotcomstg-webhooks
npm run deploy:feature:stack -- -c isFeatureBranch=true -c env=dotcomstg -c customFeatureName=enhancedApp-dotcomstg \
auto-builder-stack-enhancedApp-dotcomstg-worker
npm run deploy:feature:stack -- -c isFeatureBranch=true -c env=dotcomstg -c customFeatureName=enhancedApp-dotcomstg \
auto-builder-stack-enhancedApp-dotcomstg-webhooks
51 changes: 8 additions & 43 deletions .github/workflows/update-feature-branch.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,47 +41,6 @@ jobs:
cdk-infra/node_modules
key: ${{ github.head_ref }}
build-webhooks:
needs: prep-build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v1
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: us-east-2
- uses: actions/setup-node@v4
with:
node-version: '18.x'
- uses: actions/cache/restore@v3
id: cache-restore
with:
path: |
node_modules
cdk-infra/node_modules
key: ${{ github.head_ref }}
- name: Install Dependencies
if: steps.cache-restore.outputs.cache-hit != 'true'
run: |
npm ci
cd cdk-infra/
npm ci
- uses: dorny/paths-filter@v2
id: filter
with:
filters: |
webhooks:
- 'api/**'
- 'cdk-infra/lib/constructs/api/**'
- 'cdk-infra/utils/**'
- name: Update Webhook Stack
if: steps.filter.outputs.webhooks == 'true'
run: |
cd cdk-infra/
npm run deploy:feature:stack -- -c isFeatureBranch=true -c env=stg -c customFeatureName=enhancedApp-stg-${{github.head_ref}} \
auto-builder-stack-enhancedApp-stg-${{github.head_ref}}-webhooks
build-worker:
needs: prep-build
runs-on: ubuntu-latest
steps:
Expand Down Expand Up @@ -117,9 +76,15 @@ jobs:
- 'cdk-infra/lib/constructs/worker/**'
- 'Dockerfile'
- 'modules/**'
webhooks:
- 'api/**'
- 'cdk-infra/lib/constructs/api/**'
- 'cdk-infra/utils/**'
- name: Update Worker Stack
if: steps.filter.outputs.worker == 'true'
run: |
cd cdk-infra/
npm run cdk destroy -- -c customFeatureName=enhancedApp-stg-${{github.head_ref}} --force auto-builder-stack-enhancedApp-stg-${{github.head_ref}}-webhooks
npm run deploy:feature:stack -- -c isFeatureBranch=true -c env=stg -c customFeatureName=enhancedApp-stg-${{github.head_ref}} \
auto-builder-stack-enhancedApp-stg-${{github.head_ref}}-worker
auto-builder-stack-enhancedApp-stg-${{github.head_ref}}-worker
npm run deploy:feature:stack -- -c isFeatureBranch=true -c env=stg -c customFeatureName=enhancedApp-stg-${{github.head_ref}} \
auto-builder-stack-enhancedApp-stg-${{github.head_ref}}-webhooks
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ ENV PATH="${WORK_DIRECTORY}/.cargo/bin:${PATH}"
RUN curl https://raw.githubusercontent.com/mongodb/docs-worker-pool/meta/makefiles/shared.mk -o shared.mk

# install snooty frontend and docs-tools
RUN git clone -b v${SNOOTY_FRONTEND_VERSION} --depth 1 https://github.com/mongodb/snooty.git \
RUN git clone -b main --depth 1 https://github.com/mongodb/snooty.git \
&& cd snooty \
# Need to remove omit dev as the filter functionality for the frontend depends on a dev dependency.
&& npm ci --legacy-peer-deps \
Expand Down
4 changes: 3 additions & 1 deletion api/controllers/v1/slack.ts
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ export const DisplayRepoOptions = async (event: APIGatewayEvent): Promise<APIGat

const entitledBranches = await buildEntitledGroupsList(entitlement, repoBranchesRepository);
const resp = await slackConnector.displayRepoOptions(entitledBranches, key_val['trigger_id'], isAdmin);
if (resp?.status == 200 && resp?.data) {
if (resp?.status == 200 && resp?.data && resp?.data.ok) {
return {
statusCode: 200,
body: 'Model requested',
Expand Down Expand Up @@ -201,6 +201,8 @@ export const DeployRepo = async (event: any = {}): Promise<any> => {
const decoded = decodeURIComponent(event.body).split('=')[1];
const parsed = JSON.parse(decoded);
const stateValues = parsed.view.state.values;
console.info('testing', 'logging here');
console.log(JSON.stringify(parsed.view));

//TODO: create an interface for slack view_submission payloads
if (parsed.type !== 'view_submission') {
Expand Down
56 changes: 44 additions & 12 deletions api/controllers/v2/github.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import * as c from 'config';
import * as mongodb from 'mongodb';
import { APIGatewayEvent, APIGatewayProxyResult } from 'aws-lambda';
import { PushEvent, WorkflowRunCompletedEvent } from '@octokit/webhooks-types';

import { ECSClient, RunTaskCommand } from '@aws-sdk/client-ecs';
import { JobRepository } from '../../../src/repositories/jobRepository';
import { ConsoleLogger } from '../../../src/services/logger';
import { RepoBranchesRepository } from '../../../src/repositories/repoBranchesRepository';
Expand Down Expand Up @@ -86,7 +86,7 @@ async function createPayload({
if (!githubEvent) {
throw new Error(`Non SmokeTest Deploy jobs must have a github Event`);
}
action = 'push';
action = 'automatedTest';
jobType = 'githubPush';
branchName = githubEvent.ref.split('/')[2];
url = githubEvent.repository?.clone_url;
Expand Down Expand Up @@ -168,19 +168,51 @@ export const triggerSmokeTestAutomatedBuild = async (event: APIGatewayEvent): Pr
body: `Workflow ${body.workflow_run.name} completed successfully but only Deploy Staging ECS workflow completion will trigger smoke test site deployments`,
};

// if the build was not building main branch, no need for smoke test sites
if (body.workflow_run.head_branch != 'main' || body.repository.fork) {
console.log('Build was not on master branch in main repo, sites will not deploy as no smoke tests are needed');
return {
statusCode: 202,
headers: { 'Content-Type': 'text/plain' },
body: `Build on branch ${body.workflow_run.head_branch} will not trigger site deployments as it was not on main branch in upstream repo`,
};
}
// if the build was not building the main branch, no need for smoke test sites

// if (body.workflow_run.head_branch != 'main' || body.repository.fork) {
// console.log('Build was not on master branch in main repo, sites will not deploy as no smoke tests are needed');
// return {
// statusCode: 202,
// headers: { 'Content-Type': 'text/plain' },
// body: `Build on branch ${body.workflow_run.head_branch} will not trigger site deployments as it was not on main branch in upstream repo`,
// };
// }

//automated test builds will always deploy in dotcomstg
const env = 'dotcomstg';

async function runAdditionalECSTasks() {
const { TASK_DEFINITION, CLUSTER, SUBNETS } = process.env;
console.log('RUN');

if (!TASK_DEFINITION) throw new Error('ERROR! process.env.TASK_DEFINITION is not defined');
if (!CLUSTER) throw new Error('ERROR! process.env.CLUSTER is not defined');
if (!SUBNETS) throw new Error('ERROR! process.env.SUBNETS is not defined');

console.log('Env Vars exist for run');

const client = new ECSClient({
region: 'us-east-2',
});

const command = new RunTaskCommand({
taskDefinition: TASK_DEFINITION,
cluster: CLUSTER,
launchType: 'FARGATE',
overrides: {
containerOverrides: [{ environment: [{ name: 'INDPENDENT_TASK', value: 'true' }] }],
},
networkConfiguration: {
awsvpcConfiguration: {
subnets: JSON.parse(SUBNETS),
},
},
});

await client.send(command);
}

async function createAndInsertJob() {
return await Promise.all(
SMOKETEST_SITES.map(async (repoName): Promise<string> => {
Expand Down Expand Up @@ -208,10 +240,10 @@ export const triggerSmokeTestAutomatedBuild = async (event: APIGatewayEvent): Pr
repoOwner,
});

//add logic for getting master branch, latest stable branch
const job = await prepGithubPushPayload(body, payload, jobTitle);

try {
// await runAdditionalECSTasks();
consoleLogger.info(job.title, 'Creating Job');
const jobId = await jobRepository.insertJob(job, c.get('jobsQueueUrl'));
jobRepository.notify(jobId, c.get('jobUpdatesQueueUrl'), JobStatus.inQueue, 0);
Expand Down
73 changes: 38 additions & 35 deletions api/handlers/slack.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,45 +23,48 @@ export async function buildEntitledGroupsList(entitlement: any, repoBranchesRepo
const repoOptions: any[] = [];
for (const repo of entitlement.repos) {
const [repoOwner, repoName, directoryPath] = repo.split('/');

const branches = await repoBranchesRepository.getRepoBranches(repoName, directoryPath);
const options: any[] = [];
for (const branch of branches) {
const buildWithSnooty = branch['buildsWithSnooty'];
if (buildWithSnooty) {
const active = branch['active'];
const branchName = `${directoryPath ? `${directoryPath}/` : ''}${branch['gitBranchName']}`;
const repoPath = `${repoOwner}/${repoName}/${branchName}`;
let txt: string;
if (!active) {
txt = `(!inactive) ${repoPath}`;
} else {
txt = repoPath;
if (branches.length) {
const options: any[] = [];
for (const branch of branches) {
const buildWithSnooty = branch['buildsWithSnooty'];
if (buildWithSnooty) {
const active = branch['active'];
const branchName = `${directoryPath ? `${directoryPath}/` : ''}${branch['gitBranchName']}`;
const repoPath = `${repoOwner}/${repoName}/${branchName}`;
let txt: string;
if (!active) {
txt = `(!inactive) ${repoPath}`;
} else {
txt = repoPath;
}
options.push({
text: {
type: 'plain_text',
text: txt,
},
value: repoPath,
});
}
options.push({
text: {
type: 'plain_text',
text: txt,
},
value: repoPath,
});
}
}

const repoOption = {
label: {
type: 'plain_text',
text: repoName,
},
//sort the options by version number
options: options.sort((branchOne, branchTwo) =>
branchTwo.text.text
.toString()
.replace(/\d+/g, (n) => +n + 100000)
.localeCompare(branchOne.text.text.toString().replace(/\d+/g, (n) => +n + 100000))
),
};
repoOptions.push(repoOption);
const repoOption = {
label: {
type: 'plain_text',
text: repoName,
},
//sort the options by version number
options: options.sort((branchOne, branchTwo) =>
branchTwo.text.text
.toString()
.replace(/\d+/g, (n) => +n + 100000)
.localeCompare(branchOne.text.text.toString().replace(/\d+/g, (n) => +n + 100000))
),
};
repoOptions.push(repoOption);
} else {
console.log(repo, branches);
}
}
return repoOptions.sort((repoOne, repoTwo) => repoOne.label.text.localeCompare(repoTwo.label.text));
}
Expand Down
12 changes: 11 additions & 1 deletion cdk-infra/bin/cdk-infra.ts
Original file line number Diff line number Diff line change
Expand Up @@ -38,12 +38,22 @@ async function main() {
const stackName = `auto-builder-stack-${getFeatureName()}`;

const queues = new AutoBuilderQueueStack(app, `${stackName}-queues`, { env });
const { clusterName } = new WorkerStack(app, `${stackName}-worker`, { queues, workerSecureStrings, vpc, env });
const { clusterName, taskDefinition } = new WorkerStack(app, `${stackName}-worker`, {
queues,
workerSecureStrings,
vpc,
env,
});

// TODO: Pass the VPC as a prop here like the queues or clusterName
// TODO: Pass the task definition that will be added from the Worker stack
new WebhookStack(app, `${stackName}-webhooks`, {
queues,
clusterName,
webhookSecureStrings,
env,
vpc,
taskDefinition,
});

new CacheUpdaterStack(app, `${stackName}-cache`, {
Expand Down
20 changes: 18 additions & 2 deletions cdk-infra/lib/constructs/api/webhook-api-construct.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ import { IQueue } from 'aws-cdk-lib/aws-sqs';
import { Construct } from 'constructs';
import path from 'path';
import { getFeatureName } from '../../../utils/env';
import { IVpc } from 'aws-cdk-lib/aws-ec2';
import { TaskDefinition } from 'aws-cdk-lib/aws-ecs';

const HANDLERS_PATH = path.join(__dirname, '/../../../../api/controllers/v2');

Expand All @@ -31,10 +33,17 @@ interface WebhookApiConstructProps {
jobsQueue: IQueue;
jobUpdatesQueue: IQueue;
environment: Record<string, string>;
vpc: IVpc;
taskDefinition: TaskDefinition;
clusterName: string;
}

export class WebhookApiConstruct extends Construct {
constructor(scope: Construct, id: string, { jobsQueue, jobUpdatesQueue, environment }: WebhookApiConstructProps) {
constructor(
scope: Construct,
id: string,
{ jobsQueue, jobUpdatesQueue, environment, vpc, taskDefinition, clusterName }: WebhookApiConstructProps
) {
super(scope, id);

const timeout = Duration.minutes(2);
Expand Down Expand Up @@ -79,10 +88,17 @@ export class WebhookApiConstruct extends Construct {
runtime,
handler: 'triggerSmokeTestAutomatedBuild',
bundling,
environment,
environment: {
TASK_DEFINITION: taskDefinition.taskDefinitionArn,
SUBNETS: JSON.stringify(vpc.privateSubnets.map((subnet) => subnet.subnetId)),
CLUSTER: clusterName,
...environment,
},
timeout,
});

taskDefinition.grantRun(githubSmokeTestBuildLambda);

const githubDeleteArtifactsLambda = new NodejsFunction(this, 'githubDeleteArtifactsLambda', {
entry: `${HANDLERS_PATH}/github.ts`,
runtime,
Expand Down
Loading
Loading