Skip to content

Feat: Add a CI workflow #4

Feat: Add a CI workflow

Feat: Add a CI workflow #4

Workflow file for this run

name: "Build and Deploy"
on:
push:
branches:
- main
pull_request:
types:
- opened
- synchronize
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
Build:
runs-on: ubuntu-latest
timeout-minutes: 15
strategy:
matrix:
include:
- name: dashboard-filter-panel
outputFolder: dist/dashboard-filter-panel/browser/
- name: drag-n-drop-chart-library
outputFolder: build/
- name: report-builder
outputFolder: dist/report-builder/browser/
- name: wearables-dashboard
outputFolder: dist/
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup node
uses: actions/setup-node@v3
- name: Cache node modules
uses: actions/cache@v2
with:
path: ${{ matrix.name }}/node_modules
key: ${{ runner.os }}-node-${{ matrix.name }}-${{ hashFiles(format('{0}/{1}', matrix.name, 'package-lock.json')) }}
- name: Build front end
run: |
cd ${{ matrix.name }}
npm ci
npm run build:ci
- name: Copy Folder
uses: keithweaver/[email protected]
with:
command: cp
source: ./${{ matrix.name }}/${{ matrix.outputFolder }}/
destination: s3://showcases.luzmo.com/${{ matrix.name }}/
aws_access_key_id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws_secret_access_key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws_region: eu-west-1
flags: --recursive
# - name: Upload to S3
# uses: shallwefootball/s3-upload-action@master
# # if: github.event_name != 'pull_request'
# with:
# aws_key_id: ${{ secrets.AWS_ACCESS_KEY_ID }}
# aws_secret_access_key: ${{ secrets.AWS_SECRET_ACCESS_KEY}}
# aws_bucket: "showcases.luzmo.com"
# source_dir: ${{ matrix.name }}/${{ matrix.outputFolder }}
# destination_dir: ${{ matrix.name }}
# Invalidate Cloudfront: