diff --git a/.github/workflows/website-deploy.yaml b/.github/workflows/website-deploy.yaml new file mode 100644 index 0000000..cbda9e0 --- /dev/null +++ b/.github/workflows/website-deploy.yaml @@ -0,0 +1,51 @@ +name: Build and Deploy Website + +on: + push: + branches: + - main + +jobs: + build-and-deploy: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + + - name: Install Rust + uses: actions-rs/toolchain@v1 + with: + toolchain: stable + override: true + + - 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: ap-southeast-2 + + - name: Install dependencies + run: | + cd website + npm install + + - name: Build + run: | + cd website + ./build.sh + + - name: Upload to S3 + uses: jakejarvis/s3-sync-action@7ed8b112447abb09f1da74f3466e4194fc7a6311 + with: + args: --acl public-read --follow-symlinks --delete + env: + AWS_S3_BUCKET: valuescript.org + AWS_REGION: ap-southeast-2 + SOURCE_DIR: website/dist + + - name: Invalidate CloudFront distribution + run: | + aws cloudfront create-invalidation --distribution-id E1X5AVTI60MZKN --paths "/*" + env: + AWS_REGION: ap-southeast-2