name: Prober - WikiTree on: workflow_call: inputs: wait_for_propagation: type: boolean default: false workflow_dispatch: inputs: wait_for_propagation: type: boolean default: false schedule: - cron: '0 5 * * *' permissions: contents: read actions: write concurrency: group: prober-${{ github.workflow }} cancel-in-progress: false jobs: prober: runs-on: ubuntu-latest timeout-minutes: 15 env: SPEC: wikitree.spec.ts steps: - name: Checkout repository uses: actions/checkout@v7 - name: Use Node.js uses: actions/setup-node@v6 with: node-version: 24.x cache: 'npm' - run: npm ci - name: Wait for deployment propagation if: inputs.wait_for_propagation run: sleep 180 - name: Get Playwright version id: playwright-version run: echo "version=$(node -p "require('@playwright/test/package.json').version")" >> $GITHUB_OUTPUT - name: Cache Playwright Browsers id: cache-playwright uses: actions/cache@v6 with: path: ~/.cache/ms-playwright key: playwright-${{ runner.os }}-${{ steps.playwright-version.outputs.version }} - name: Install Playwright System Dependencies run: npx playwright install-deps chromium - name: Install Playwright Browsers (If Not Cached) if: steps.cache-playwright.outputs.cache-hit != 'true' run: npx playwright install chromium - name: Run prober env: PLAYWRIGHT_HTML_REPORT: playwright-report/prober run: npx playwright test --config=playwright.prober.config.ts "${SPEC}" - name: Upload Playwright report if: always() uses: actions/upload-artifact@v7 with: name: prober-report-wikitree path: playwright-report/ retention-days: 30