name: Node.js CI

on: [push]

jobs:
  build:

    runs-on: ubuntu-latest

    steps:
      - name: Checkout code
        uses: actions/checkout@v4
      - name: Use Node 14
        uses: actions/setup-node@v1
        with:
          node-version: '14.x'
      - name: Install dependencies
        run: npm install
      - name: Building the code
        run: npm run build
      - name: Generate code coverage
        run: npm run test
      - name: Archive production artifacts
        uses: actions/upload-artifact@v4
        with:
          name: Build files
          path: build/*.js
      - name: Upload coverage to Codecov
        uses: codecov/codecov-action@v1
        with:
          files: ./coverage/clover.xml
          directory: ./coverage/lcov-report/
          name: codecov-umbrella
          fail_ci_if_error: true
          path_to_write_report: ./coverage/codecov_report.txt
          verbose: true