@@ -12,13 +12,13 @@ jobs:
1212
1313 steps :
1414 - name : Checkout Github Action
15- uses : actions/checkout@v3
15+ uses : actions/checkout@v4
1616
1717 - name : Get npm cache directory
1818 id : npm-cache-dir
1919 run : |
2020 echo "::set-output name=dir::$(npm config get cache)"
21- - uses : actions/cache@v3
21+ - uses : actions/cache@v4
2222 id : npm-cache
2323 with :
2424 path : ${{ steps.npm-cache-dir.outputs.dir }}
@@ -42,17 +42,30 @@ jobs:
4242 run : ls -la dist/
4343
4444 - name : Configure AWS credentials
45- uses : aws-actions/configure-aws-credentials@v1
45+ uses : aws-actions/configure-aws-credentials@v4
4646 with :
4747 aws-access-key-id : ${{ secrets.AWS_S3_ACCESS_KEY_ID }}
4848 aws-secret-access-key : ${{ secrets.AWS_S3_SECRET_ACCESS_KEY_ID }}
4949 aws-region : ap-northeast-2
5050
51- - name : Upload to S3 Bucket
51+ - name : Upload compressed files to S3 with header
5252 env :
5353 BUCKET_NAME : ${{ secrets.AWS_S3_BUCKET_NAME }}
5454 run : |
55- aws s3 sync dist/ s3://${{ secrets.AWS_S3_BUCKET_NAME }} --delete
55+ for file in $(find dist/ -type f -name "*.gz"); do
56+ original=$(echo "$file" | sed 's/\.gz$//')
57+ filename=$(basename "$original")
58+ echo "Uploading $file as $filename with Content-Encoding: gzip"
59+ aws s3 cp "$file" "s3://${BUCKET_NAME}/${filename}" \
60+ --content-encoding gzip \
61+ --metadata-directive REPLACE
62+ done
63+
64+ - name : Upload non-compressed files to S3
65+ env :
66+ BUCKET_NAME : ${{ secrets.AWS_S3_BUCKET_NAME }}
67+ run : |
68+ aws s3 sync dist/ s3://${BUCKET_NAME} --exclude "*.gz" --delete
5669
5770 - name : CloudFront Invalidation
5871 env :
0 commit comments