name: Tests on: push: branches: - main - beta - release - 'hotfix*' pull_request: branches: - main - beta - release - 'hotfix*' merge_group: types: [checks_requested] workflow_dispatch: jobs: check-path-change-filter: timeout-minutes: 5 runs-on: ubuntu-latest permissions: pull-requests: read outputs: all: ${{ steps.filter.outputs.all }} steps: - name: Checkout GitHub repository uses: actions/checkout@v6 with: sparse-checkout: | .github/test-filters.yml sparse-checkout-cone-mode: false - uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 id: filter with: filters: .github/test-filters.yml run-tests: name: Run Tests needs: check-path-change-filter if: ${{ needs.check-path-change-filter.outputs.all == 'true'}} strategy: # don't stop upon 1 shard failing fail-fast: false matrix: shard: [1, 2, 3, 4, 5] uses: ./.github/workflows/test-shard-template.yml with: shard: ${{ matrix.shard }} totalShards: 5 check-results: name: Check Test Results timeout-minutes: 8 needs: run-tests runs-on: ubuntu-latest if: ${{ needs.run-tests.result != 'skipped' && needs.run-tests.result != 'cancelled' }} steps: - name: Check out Git repository uses: actions/checkout@v6 with: sparse-checkout: | .github/actions/setup-deps/action.yml test/setup test/test-utils/reporters/custom-default-reporter.ts - uses: ./.github/actions/setup-deps - name: Download blob artifacts uses: actions/download-artifact@v6 with: pattern: shard-?-blob path: test-results merge-multiple: true - name: Merge blobs run: pnpm test:merge-reports