name: Test on: pull_request: branches: - main schedule: - cron: '0 22 * * 3' workflow_call: permissions: contents: read jobs: test: name: Test strategy: matrix: node-version: - '20.5' - '18.17' - '16.20' runs-on: macos-latest steps: - name: Checkout uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: Setup Node.js uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0 with: node-version: "${{ matrix.node-version }}" cache: 'yarn' - name: Install (Node.js v18+) if : ${{ matrix.node-version != '16.20' }} run: yarn install --frozen-lockfile - name: Install (Node.js < v18) if : ${{ matrix.node-version == '16.20' }} run: yarn install --frozen-lockfile --ignore-engines - name: Build run: yarn build - name: Lint run: yarn lint - name: Test run: yarn test