name: CI on: [push] jobs: api: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v2 - name: npm Cache uses: actions/cache@v2 with: path: ~/.npm key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} restore-keys: | ${{ runner.os }}-node- - name: Setup Node.js uses: actions/setup-node@v2 with: node-version: 16 - run: npm ci - run: npm run build - run: npm run lint:api - run: npm run test:cov - name: Upload coverage results to codecov uses: codecov/codecov-action@v2 with: flags: unittests,api frontend: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v2 - name: npm Cache uses: actions/cache@v2 with: path: ~/.npm key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} restore-keys: | ${{ runner.os }}-node- - name: Setup Node.js uses: actions/setup-node@v2 with: node-version: 16 - run: npm ci - run: npm ci working-directory: frontend - run: npm run lint:frontend - name: Archive code coverage results uses: actions/upload-artifact@v2 with: name: code-coverage-report path: coverage