mirror of
https://github.com/voltrevo/ValueScript.git
synced 2026-01-13 07:28:03 -05:00
70 lines
1.7 KiB
YAML
70 lines
1.7 KiB
YAML
name: Test and Deploy
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
|
|
jobs:
|
|
test:
|
|
name: Run cargo test
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v2
|
|
|
|
- uses: actions/cache@v2
|
|
with:
|
|
path: ~/.cargo
|
|
key: dot-cargo
|
|
restore-keys: dot-cargo
|
|
- uses: actions/cache@v2
|
|
with:
|
|
path: target
|
|
key: target
|
|
restore-keys: target
|
|
|
|
- name: Install Rust
|
|
uses: actions-rs/toolchain@v1
|
|
with:
|
|
toolchain: stable
|
|
|
|
- name: Run cargo test
|
|
run: cargo test
|
|
|
|
- name: Install wasm-pack
|
|
run: |
|
|
curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh
|
|
|
|
- name: Configure AWS credentials
|
|
uses: aws-actions/configure-aws-credentials@v2
|
|
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
|