Skip to content

Commit a6860a1

Browse files
Create main.yml
1 parent 2e67bd4 commit a6860a1

File tree

1 file changed

+46
-0
lines changed

1 file changed

+46
-0
lines changed

.github/workflows/main.yml

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
name: Deploy to S3 and Invalidate CloudFront
2+
3+
on:
4+
push:
5+
branches:
6+
- master
7+
8+
jobs:
9+
deploy:
10+
runs-on: ubuntu-latest
11+
12+
steps:
13+
- name: Checkout repository
14+
uses: actions/checkout@v4
15+
16+
- name: Set up Node.js and pnpm
17+
uses: actions/setup-node@v4
18+
with:
19+
node-version: 20
20+
21+
22+
23+
- name: Install dependencies with pnpm
24+
run: npm ci
25+
26+
- name: Build project with pnpm
27+
run: npm run build
28+
29+
- name: Deploy to S3
30+
uses: jakejarvis/[email protected]
31+
with:
32+
args: --delete
33+
env:
34+
AWS_S3_BUCKET: ${{ secrets.S3_BUCKET }}
35+
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
36+
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
37+
AWS_REGION: us-west-2
38+
SOURCE_DIR: dist
39+
40+
- name: Invalidate CloudFront cache
41+
run: |
42+
aws cloudfront create-invalidation --distribution-id ${{ secrets.CLOUDFRONT_DISTRIBUTION_ID }} --paths "/*"
43+
env:
44+
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
45+
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
46+
AWS_REGION: us-east-1

0 commit comments

Comments
 (0)