pokerogue/.github/workflows/tests.yml
2025-12-07 13:59:20 -06:00

82 lines
1.9 KiB
YAML

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