name: EMS Angular Toolkit Actions

on: [push]

jobs:
  unit-test:
    name: Unit Tests
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v2

      - name: Node install
        uses: actions/setup-node@v2
        with:
          node-version: "16.14.0"

      - name: Install dependencies
        run: npm install

      - name: Test Application
        run: npm run test:headless

      - name: Upload coverage to Codecov
        uses: codecov/codecov-action@v3
        with:
          token: ${{ secrets.CODECOV_TOKEN }} # not required for public repos
          flags: unittests # optional
          name: codecov-umbrella # optional
          fail_ci_if_error: true # optional (default = false)
          verbose: true # optional (default = false)

  build:
    name: Build App
    runs-on: ubuntu-latest
    needs: [unit-test]
    steps:
      - uses: actions/checkout@v2

      - name: Node install
        uses: actions/setup-node@v2
        with:
          node-version: '16.14.0'

      - name: Install dependencies
        run: npm install

      - name: Build App
        run: npm run build

      - name: Deploy vercel
        if: success()
        uses: amondnet/vercel-action@v20
        with:
          vercel-token: ${{ secrets.VERCEL_TOKEN }} # Required
          vercel-args: "--prod" #Optional
          vercel-org-id: ${{ secrets.ORG_ID }} #Required
          vercel-project-id: ${{ secrets.PROJECT_ID }} #Required
