name: integration-tests
env:
  ACTIONS_ALLOW_UNSECURE_COMMANDS: true
  CACHE_VERSION: 20220707
on:
  push:
    branches:
      - main
  pull_request:
    branches:
      - main

jobs:
  unit:
    runs-on: ubuntu-latest
    if: "! contains(github.event.head_commit.message, '[skip ci]')"
    steps:
      - name: Checkout
        uses: actions/checkout@v2

      - name: Use Node.js v16
        uses: actions/setup-node@v2
        with:
          node-version: 16

      - name: Cache node_modules
        uses: actions/cache@v2
        id: node_modules-cache
        with:
          path: |
            node_modules
            */*/node_modules
          key: unit-${{ runner.os }}-node-modules-${{env.CACHE_VERSION}}-${{ hashFiles('**/yarn.lock') }}
          restore-keys: |
            unit-${{ runner.os }}-node-modules-${{env.CACHE_VERSION}}

      - name: Install dependencies
        run: make github-init

      - name: Cleanup
        run: make clean

      - name: Lint Packages
        run: make lint

      - name: Run Tests
        run: make coverage

      - name: Report Coverage
        uses: ArcBlock/code-coverage-assistant@v1.1.0
        with:
          github-token: ${{ secrets.GITHUB_TOKEN }}
          monorepo-base-path: './core,./relay,./ux'
