on:
  workflow_call:
    secrets:
      INFURA_API_KEY:
        required: false

env:
  NODE_ENV: ci

name: "Tests"

jobs:
  run-tests:
    name: Run Tests
    runs-on: ubuntu-latest
    strategy:
      matrix:
        node-version: [18.x, 20.x]
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: ${{ matrix.node-version }}
      - run: npm ci
      - run: npm run test:ci
        env:
          INFURA_API_KEY: ${{ secrets.INFURA_API_KEY }}

  test-build:
    name: Test Build
    runs-on: ubuntu-latest
    strategy:
      matrix:
        node-version: [18.x, 20.x]
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: ${{ matrix.node-version }}
      - run: npm ci
      - run: npm run build
