fix: gate native Tauri audio backend #2328
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: E2E Tests | |
| on: | |
| push: | |
| branches: ['*'] | |
| pull_request: | |
| branches: [main] | |
| # Cancel in-progress e2e runs for the same branch | |
| concurrency: | |
| group: e2e-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| # Critical E2E tests — BLOCKS PR merges. | |
| e2e-critical: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 10 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 20 | |
| cache: npm | |
| - run: npm ci | |
| - run: npx playwright install --with-deps chromium | |
| - name: Run critical E2E tests | |
| id: e2e-critical | |
| run: | | |
| npx playwright test --grep '@critical' --retries=1 --reporter=list,html 2>&1 | tee /tmp/e2e-critical-output.txt | |
| continue-on-error: true | |
| - name: Post test results to job summary | |
| if: always() | |
| run: | | |
| echo '## E2E Critical Test Results' >> $GITHUB_STEP_SUMMARY | |
| echo '```' >> $GITHUB_STEP_SUMMARY | |
| tail -80 /tmp/e2e-critical-output.txt >> $GITHUB_STEP_SUMMARY 2>/dev/null || echo "No output captured" >> $GITHUB_STEP_SUMMARY | |
| echo '```' >> $GITHUB_STEP_SUMMARY | |
| - name: Fail if tests failed | |
| if: steps.e2e-critical.outcome == 'failure' | |
| run: exit 1 | |
| - name: Upload critical test report | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: playwright-report-critical | |
| path: playwright-report/ | |
| retention-days: 7 | |
| # Extended E2E tests — non-blocking, creates issues on failure | |
| e2e-extended: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 10 | |
| continue-on-error: true | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 20 | |
| cache: npm | |
| - run: npm ci | |
| - run: npx playwright install --with-deps chromium | |
| - name: Run extended E2E tests | |
| id: e2e | |
| run: | | |
| set -o pipefail | |
| npx playwright test --grep-invert '@critical' 2>&1 | tee /tmp/e2e-output.txt | |
| exit_code=${PIPESTATUS[0]} | |
| echo "exit_code=$exit_code" >> "$GITHUB_OUTPUT" | |
| continue-on-error: true | |
| - name: Upload extended test report | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: playwright-report-extended | |
| path: playwright-report/ | |
| retention-days: 7 | |
| - name: Report E2E failures | |
| if: steps.e2e.outputs.exit_code != '0' | |
| env: | |
| GH_TOKEN: ${{ github.token }} | |
| run: | | |
| SUMMARY=$(tail -30 /tmp/e2e-output.txt) | |
| gh issue create \ | |
| --title "E2E regression: $(date '+%Y-%m-%d') on ${GITHUB_HEAD_REF:-$GITHUB_REF_NAME}" \ | |
| --body "$(cat <<BODY | |
| ## E2E Test Failure | |
| **Branch**: ${GITHUB_HEAD_REF:-$GITHUB_REF_NAME} | |
| **Run**: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} | |
| \`\`\` | |
| $SUMMARY | |
| \`\`\` | |
| BODY | |
| )" \ | |
| --label "bug,e2e-regression" |