name: Tests on: # Trigger the workflow on push or pull request, # but only for the main branch push: branches: - main # Trigger on push events to the main branch - beta # Trigger on push events to the beta branch pull_request: branches: - main # Trigger on pull request events targeting the main branch - beta # Trigger on pull request events targeting the beta branch merge_group: types: [checks_requested] jobs: pre-test: name: Run Pre-test runs-on: ubuntu-latest steps: - name: Check out Git repository uses: actions/checkout@v4 with: submodules: 'recursive' path: tests-action - name: Set up Node.js uses: actions/setup-node@v4 with: node-version: 20 - name: Install Node.js dependencies working-directory: tests-action run: npm ci - name: Run Pre-test working-directory: tests-action run: npx vitest run --project pre ${{ !runner.debug && '--silent' || '' }} run-tests: name: Run Tests needs: [pre-test] strategy: matrix: shard: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] uses: ./.github/workflows/test-shard-template.yml with: project: main shard: ${{ matrix.shard }} totalShards: 10