1919 node-version : ' 16.x'
2020 registry-url : ' https://registry.npmjs.org'
2121
22- - name : Fetch AWS Credentials for Deployment
23- run : |
24- export AWS_ROLE_ARN=${{ secrets.ROLE }}
25- export AWS_WEB_IDENTITY_TOKEN_FILE=/tmp/awscreds
26- export AWS_DEFAULT_REGION=us-east-1
27-
28- echo AWS_WEB_IDENTITY_TOKEN_FILE=$AWS_WEB_IDENTITY_TOKEN_FILE >> $GITHUB_ENV
29- echo AWS_ROLE_ARN=$AWS_ROLE_ARN >> $GITHUB_ENV
30- echo AWS_DEFAULT_REGION=$AWS_DEFAULT_REGION >> $GITHUB_ENV
31-
32- curl -H "Authorization: bearer $ACTIONS_ID_TOKEN_REQUEST_TOKEN" "$ACTIONS_ID_TOKEN_REQUEST_URL" | jq -r '.value' > $AWS_WEB_IDENTITY_TOKEN_FILE
33-
3422 - name : Cache NPM modules
3523 uses : actions/cache@v3
3624 with :
@@ -44,18 +32,33 @@ jobs:
4432 npm ci
4533 npm run release
4634
47- - name : Publish to CloudWatch RUM CDN
48- id : publish-cdn
35+ - name : Install PlayWright
36+ run : npx playwright install --with-deps chromium
37+
38+ - name : Fetch AWS Credentials for Gamma Deployment
39+ run : |
40+ export AWS_ROLE_ARN=${{ secrets.ROLE_GAMMA }}
41+ export AWS_WEB_IDENTITY_TOKEN_FILE=/tmp/awscreds
42+ export AWS_DEFAULT_REGION=us-east-1
43+
44+ echo AWS_WEB_IDENTITY_TOKEN_FILE=$AWS_WEB_IDENTITY_TOKEN_FILE >> $GITHUB_ENV
45+ echo AWS_ROLE_ARN=$AWS_ROLE_ARN >> $GITHUB_ENV
46+ echo AWS_DEFAULT_REGION=$AWS_DEFAULT_REGION >> $GITHUB_ENV
47+
48+ curl -H "Authorization: bearer $ACTIONS_ID_TOKEN_REQUEST_TOKEN" "$ACTIONS_ID_TOKEN_REQUEST_URL" | jq -r '.value' > $AWS_WEB_IDENTITY_TOKEN_FILE
49+
50+ - name : Publish to CloudWatch RUM Gamma CDN
51+ id : publish-cdn-gamma
4952 run : |
5053 chmod u+x .github/scripts/deploy.sh
51- .github/scripts/deploy.sh ${{ secrets.BUCKET }}
54+ .github/scripts/deploy.sh ${{ secrets.BUCKET_GAMMA }}
5255
53- - name : Validate versions.csv file
56+ - name : Validate Gamma versions.csv file
5457 run : |
5558 chmod u+x .github/scripts/validate_versions.sh
56- .github/scripts/validate_versions.sh ${{ secrets.BUCKET }}
59+ .github/scripts/validate_versions.sh ${{ secrets.BUCKET_GAMMA }}
5760
58- - name : Fetch AWS Credentials for Smoke Test
61+ - name : Fetch AWS Credentials for Gamma Smoke Test
5962 run : |
6063 export AWS_ROLE_ARN=${{ secrets.SMOKE_TEST_ROLE }}
6164 export AWS_WEB_IDENTITY_TOKEN_FILE=/tmp/awscreds
@@ -67,23 +70,11 @@ jobs:
6770
6871 curl -H "Authorization: bearer $ACTIONS_ID_TOKEN_REQUEST_TOKEN" "$ACTIONS_ID_TOKEN_REQUEST_URL" | jq -r '.value' > $AWS_WEB_IDENTITY_TOKEN_FILE
6972
70- - name : Update Smoke Test Application - CDN
71- id : update-smoke-test-cdn
72- run : |
73- chmod u+x .github/scripts/update_smoke_test.sh
74- .github/scripts/update_smoke_test.sh ${{ secrets.SMOKE_MONITOR }} ${{ secrets.SMOKE_REGION }} ${{ secrets.SMOKE_ARN }} ${{ secrets.SMOKE_IDENTITY }} ${{ secrets.CONFIG_ENDPOINT }} ${{ secrets.CDN }} "CDN" >> processed_smoke.html
75-
76- - name : Update Smoke Test Application - NPM/ES
77- id : update-smoke-test-npm-es
78- run : |
79- chmod u+x .github/scripts/update_smoke_test.sh
80- .github/scripts/update_smoke_test.sh ${{ secrets.SMOKE_MONITOR }} ${{ secrets.SMOKE_REGION }} ${{ secrets.SMOKE_ARN }} ${{ secrets.SMOKE_IDENTITY }} ${{ secrets.CONFIG_ENDPOINT }} ${{ secrets.CDN }} "NPM_ES" >> smoke/smoke-test-application-NPM-ES/src/loader-npm-rum-tmp.ts
81-
82- - name : Update Smoke Test Application - NPM/CJS
83- id : update-smoke-test-npm-cjs
73+ - name : Update Gamma Smoke Test Application
74+ id : update-smoke-test-gamma-cdn
8475 run : |
8576 chmod u+x .github/scripts/update_smoke_test.sh
86- .github/scripts/update_smoke_test.sh ${{ secrets.SMOKE_MONITOR }} ${{ secrets.SMOKE_REGION }} ${{ secrets.SMOKE_ARN }} ${{ secrets.SMOKE_IDENTITY }} ${{ secrets.CONFIG_ENDPOINT }} ${{ secrets.CDN }} "NPM_CJS" >> smoke/smoke-test-application-NPM-CJS/src/loader-npm-rum-tmp.ts
77+ .github/scripts/update_smoke_test.sh ${{ secrets.SMOKE_MONITOR }} ${{ secrets.SMOKE_REGION }} ${{ secrets.SMOKE_ARN }} ${{ secrets.SMOKE_IDENTITY }} ${{ secrets.CONFIG_ENDPOINT }} ${{ secrets.CDN_GAMMA }}
8778
8879 - name : Build Smoke Test Application - NPM/ES
8980 id : build-npm-es-application-pre-release
@@ -97,28 +88,50 @@ jobs:
9788 chmod u+x .github/scripts/build_npm_applications.sh
9889 .github/scripts/build_npm_applications.sh "PRE" "NPM-CJS"
9990
100- - name : Upload Smoke Tests to CloudFront
101- id : upload-smoke-test
91+ - name : Upload Gamma Smoke Tests to CloudFront
92+ id : upload-smoke-test-gamma
10293 run : |
10394 chmod u+x .github/scripts/upload_smoke_test.sh
10495 .github/scripts/upload_smoke_test.sh ${{ secrets.SMOKE_BUCKET }}
10596
106- - name : Install PlayWright
107- run : npx playwright install --with-deps chromium
108-
10997 - name : Run Smoke Test (NPM ES)
11098 env :
11199 URL : ${{ secrets.SMOKE_URL }}
112100 MONITOR : ${{ secrets.SMOKE_MONITOR }}
113101 ENDPOINT : ${{ secrets.SMOKE_ENDPOINT }}
114102 NAME : ${{ secrets.SMOKE_MONITOR_NAME }}
115103 INSTALL_METHOD : ' NPM-ES'
116- run : npm run smoke:headless
104+ run : |
105+ curl -H "Authorization: bearer $ACTIONS_ID_TOKEN_REQUEST_TOKEN" "$ACTIONS_ID_TOKEN_REQUEST_URL" | jq -r '.value' > $AWS_WEB_IDENTITY_TOKEN_FILE
106+ npm run smoke:headless
117107 timeout-minutes : 10
118108
119- - name : Fetch AWS Credentials for Smoke Test
109+ - name : Run Smoke Test (NPM CJS)
110+ env :
111+ URL : ${{ secrets.SMOKE_URL }}
112+ MONITOR : ${{ secrets.SMOKE_MONITOR }}
113+ ENDPOINT : ${{ secrets.SMOKE_ENDPOINT }}
114+ NAME : ${{ secrets.SMOKE_MONITOR_NAME }}
115+ INSTALL_METHOD : ' NPM-CJS'
120116 run : |
121- export AWS_ROLE_ARN=${{ secrets.SMOKE_TEST_ROLE }}
117+ curl -H "Authorization: bearer $ACTIONS_ID_TOKEN_REQUEST_TOKEN" "$ACTIONS_ID_TOKEN_REQUEST_URL" | jq -r '.value' > $AWS_WEB_IDENTITY_TOKEN_FILE
118+ npm run smoke:headless
119+ timeout-minutes : 10
120+
121+ - name : Run Gamma Smoke Test (CDN GAMMA)
122+ env :
123+ URL : ${{ secrets.SMOKE_URL }}
124+ MONITOR : ${{ secrets.SMOKE_MONITOR }}
125+ ENDPOINT : ${{ secrets.SMOKE_ENDPOINT }}
126+ NAME : ${{ secrets.SMOKE_MONITOR_NAME }}
127+ INSTALL_METHOD : ' CDN'
128+ run : |
129+ curl -H "Authorization: bearer $ACTIONS_ID_TOKEN_REQUEST_TOKEN" "$ACTIONS_ID_TOKEN_REQUEST_URL" | jq -r '.value' > $AWS_WEB_IDENTITY_TOKEN_FILE
130+ npm run smoke:headless
131+
132+ - name : Fetch AWS Credentials for Prod Deployment
133+ run : |
134+ export AWS_ROLE_ARN=${{ secrets.ROLE }}
122135 export AWS_WEB_IDENTITY_TOKEN_FILE=/tmp/awscreds
123136 export AWS_DEFAULT_REGION=us-east-1
124137
@@ -128,17 +141,18 @@ jobs:
128141
129142 curl -H "Authorization: bearer $ACTIONS_ID_TOKEN_REQUEST_TOKEN" "$ACTIONS_ID_TOKEN_REQUEST_URL" | jq -r '.value' > $AWS_WEB_IDENTITY_TOKEN_FILE
130143
131- - name : Run Smoke Test (NPM CJS)
132- env :
133- URL : ${{ secrets.SMOKE_URL }}
134- MONITOR : ${{ secrets.SMOKE_MONITOR }}
135- ENDPOINT : ${{ secrets.SMOKE_ENDPOINT }}
136- NAME : ${{ secrets.SMOKE_MONITOR_NAME }}
137- INSTALL_METHOD : ' NPM-CJS'
138- run : npm run smoke:headless
139- timeout-minutes : 10
144+ - name : Publish to CloudWatch RUM Prod CDN
145+ id : publish-cdn-prod
146+ run : |
147+ chmod u+x .github/scripts/deploy.sh
148+ .github/scripts/deploy.sh ${{ secrets.BUCKET }}
149+
150+ - name : Validate Prod versions.csv file
151+ run : |
152+ chmod u+x .github/scripts/validate_versions.sh
153+ .github/scripts/validate_versions.sh ${{ secrets.BUCKET }}
140154
141- - name : Fetch AWS Credentials for Smoke Test
155+ - name : Fetch AWS Credentials for Prod Smoke Test
142156 run : |
143157 export AWS_ROLE_ARN=${{ secrets.SMOKE_TEST_ROLE }}
144158 export AWS_WEB_IDENTITY_TOKEN_FILE=/tmp/awscreds
@@ -150,7 +164,19 @@ jobs:
150164
151165 curl -H "Authorization: bearer $ACTIONS_ID_TOKEN_REQUEST_TOKEN" "$ACTIONS_ID_TOKEN_REQUEST_URL" | jq -r '.value' > $AWS_WEB_IDENTITY_TOKEN_FILE
152166
153- - name : Run Smoke Test (CDN)
167+ - name : Update Prod Smoke Test Application
168+ id : update-smoke-test-prod-cdn
169+ run : |
170+ chmod u+x .github/scripts/update_smoke_test.sh
171+ .github/scripts/update_smoke_test.sh ${{ secrets.SMOKE_MONITOR }} ${{ secrets.SMOKE_REGION }} ${{ secrets.SMOKE_ARN }} ${{ secrets.SMOKE_IDENTITY }} ${{ secrets.CONFIG_ENDPOINT }} ${{ secrets.CDN }}
172+
173+ - name : Upload Prod Smoke Tests to CloudFront
174+ id : upload-smoke-test-prod
175+ run : |
176+ chmod u+x .github/scripts/upload_smoke_test.sh
177+ .github/scripts/upload_smoke_test.sh ${{ secrets.SMOKE_BUCKET }}
178+
179+ - name : Run Prod Smoke Test (CDN)
154180 env :
155181 URL : ${{ secrets.SMOKE_URL }}
156182 MONITOR : ${{ secrets.SMOKE_MONITOR }}
0 commit comments