Skip to content

Build, Test, and Deploy (Dev) #166

Build, Test, and Deploy (Dev)

Build, Test, and Deploy (Dev) #166

name: Build, Test, and Deploy (Dev)
run-name: "Build, Test, and Deploy (Dev)"
on:
push:
branches:
- develop
- mainline
env:
NODE_VERSION: 18
jobs:
Build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
- run: npm ci
- run: npm run build
- run: npm run pack
- uses: actions/upload-artifact@v4
with:
name: dist
path: dist
Test:
runs-on: ubuntu-latest
needs: ["Build"]
steps:
- run: echo "No tests yet..."
Deploy:
runs-on: ubuntu-latest
needs: ["Build", "Test"]
environment: "dev"
permissions:
id-token: write
contents: read
steps:
- uses: aws-actions/configure-aws-credentials@v4
with:
aws-region: ${{ vars.AWS_DEFAULT_REGION }}
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
- uses: actions/download-artifact@v4
with:
name: dist
path: dist
- run: aws s3 sync --delete --acl public-read dist s3://${{ secrets.WWW_AWS_S3_BUCKET }}
- run: aws cloudfront create-invalidation --distribution-id ${{ secrets.WWW_AWS_CLOUDFRONT_DISTRIBUTION_ID }} --paths "/*" >/dev/null