1
- name : Frontend CI/CD
1
+ name : CI/CD for Frontend
2
2
3
3
on :
4
4
push :
7
7
branches : [ main ]
8
8
9
9
jobs :
10
- build-and-deploy :
10
+ build-frontend :
11
11
runs-on : ubuntu-latest
12
12
13
13
steps :
14
- - uses : actions/checkout@v2
14
+ - name : Checkout code
15
+ uses : actions/checkout@v2
15
16
16
17
- name : Setup Node.js
17
18
uses : actions/setup-node@v2
@@ -23,12 +24,40 @@ jobs:
23
24
- name : Install dependencies
24
25
run : cd Sample-01 && yarn install
25
26
27
+ - name : Create auth_config.json
28
+ run : |
29
+ echo '{
30
+ "domain": "'${{ secrets.AUTH0_DOMAIN }}'",
31
+ "clientId": "'${{ secrets.AUTH0_CLIENT_ID }}'",
32
+ "audience": "'${{ secrets.AUTH0_AUDIENCE }}'"
33
+ }' > Sample-01/src/auth_config.json
34
+
26
35
- name : Lint
27
36
run : cd Sample-01 && yarn lint
28
37
29
38
- name : Build
30
39
run : cd Sample-01 && yarn build
31
40
41
+ - name : Upload build artifacts
42
+ uses : actions/upload-artifact@v2
43
+ with :
44
+ name : build-artifacts
45
+ path : Sample-01/build
46
+
47
+ deploy-frontend :
48
+ runs-on : ubuntu-latest
49
+ needs : build-frontend
50
+
51
+ steps :
52
+ - name : Checkout code
53
+ uses : actions/checkout@v2
54
+
55
+ - name : Download build artifacts
56
+ uses : actions/download-artifact@v2
57
+ with :
58
+ name : build-artifacts
59
+ path : build
60
+
32
61
- name : Deploy to S3
33
62
uses : jakejarvis/s3-sync-action@v0.5.1
34
63
with :
38
67
AWS_ACCESS_KEY_ID : ${{ secrets.AWS_ACCESS_KEY_ID }}
39
68
AWS_SECRET_ACCESS_KEY : ${{ secrets.AWS_SECRET_ACCESS_KEY }}
40
69
AWS_REGION : ' us-east-1'
41
- SOURCE_DIR : ' Sample-01/ build'
70
+ SOURCE_DIR : ' build'
42
71
43
72
- name : Invalidate CloudFront Cache
44
73
uses : badsyntax/github-action-aws-cloudfront@v1.0.1
48
77
env :
49
78
AWS_ACCESS_KEY_ID : ${{ secrets.AWS_ACCESS_KEY_ID }}
50
79
AWS_SECRET_ACCESS_KEY : ${{ secrets.AWS_SECRET_ACCESS_KEY }}
80
+
0 commit comments