-
Notifications
You must be signed in to change notification settings - Fork 494
feat(ci): Add Windows runner for Playwright E2E tests #7769
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -147,9 +147,51 @@ jobs: | |||||||||
| path: ./playwright-report/ | ||||||||||
| retention-days: 30 | ||||||||||
|
|
||||||||||
| playwright-tests-windows: | ||||||||||
| timeout-minutes: 20 | ||||||||||
| # needs: setup -- removed dependency on setup job cache | ||||||||||
| runs-on: windows-latest | ||||||||||
| permissions: | ||||||||||
| contents: read | ||||||||||
| strategy: | ||||||||||
| fail-fast: false | ||||||||||
| matrix: | ||||||||||
| shard: [1, 2, 3, 4, 5, 6, 7, 8] | ||||||||||
| steps: | ||||||||||
| - name: Checkout repository | ||||||||||
| uses: actions/checkout@v5 | ||||||||||
|
|
||||||||||
| - name: Setup ComfyUI server | ||||||||||
| uses: ./.github/actions/setup-comfyui-server | ||||||||||
| with: | ||||||||||
| launch_server: true | ||||||||||
| - name: Setup nodejs, pnpm, reuse built frontend | ||||||||||
| uses: ./.github/actions/setup-frontend | ||||||||||
| with: | ||||||||||
| include_build_step: true # Build explicitly on Windows since we aren't restoring cache | ||||||||||
| - name: Setup Playwright | ||||||||||
| uses: ./.github/actions/setup-playwright | ||||||||||
|
|
||||||||||
| - name: Run Playwright tests (Windows - chromium) | ||||||||||
| id: playwright | ||||||||||
| run: | | ||||||||||
| pnpm exec playwright test --project=chromium --reporter=blob --shard=${{ matrix.shard }}/8 | ||||||||||
| env: | ||||||||||
| PLAYWRIGHT_BLOB_OUTPUT_DIR: ./blob-report | ||||||||||
| shell: bash | ||||||||||
coderabbitai[bot] marked this conversation as resolved.
Show resolved
Hide resolved
|
||||||||||
|
|
||||||||||
| - name: Upload Blob Report | ||||||||||
| uses: actions/upload-artifact@v4 | ||||||||||
| if: always() | ||||||||||
|
Comment on lines
+184
to
+185
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🛠️ Refactor suggestion | 🟠 Major Align upload condition with Linux sharded job. The Windows job uses 🔎 Proposed fix - name: Upload Blob Report
uses: actions/upload-artifact@v4
- if: always()
+ if: ${{ !cancelled() }}
with:📝 Committable suggestion
Suggested change
🤖 Prompt for AI Agents |
||||||||||
| with: | ||||||||||
| # Use a unique name for each shard's blob report | ||||||||||
| name: blob-report-windows-${{ matrix.shard }} | ||||||||||
| path: ./blob-report | ||||||||||
| retention-days: 1 | ||||||||||
|
|
||||||||||
| # Merge sharded test reports | ||||||||||
| merge-reports: | ||||||||||
| needs: [playwright-tests-chromium-sharded] | ||||||||||
| needs: [playwright-tests-chromium-sharded, playwright-tests-windows] | ||||||||||
| runs-on: ubuntu-latest | ||||||||||
| if: ${{ !cancelled() }} | ||||||||||
| steps: | ||||||||||
|
|
@@ -166,7 +208,7 @@ jobs: | |||||||||
| uses: actions/download-artifact@v4 | ||||||||||
| with: | ||||||||||
| path: ./all-blob-reports | ||||||||||
| pattern: blob-report-chromium-* | ||||||||||
| pattern: blob-report-* | ||||||||||
| merge-multiple: true | ||||||||||
|
|
||||||||||
| - name: Merge into HTML Report | ||||||||||
|
|
@@ -215,7 +257,7 @@ jobs: | |||||||||
|
|
||||||||||
| # Deploy and comment for non-forked PRs only | ||||||||||
| deploy-and-comment: | ||||||||||
| needs: [playwright-tests, merge-reports] | ||||||||||
| needs: [playwright-tests, merge-reports, playwright-tests-windows] | ||||||||||
| runs-on: ubuntu-latest | ||||||||||
| if: always() && github.event_name == 'pull_request' && github.event.pull_request.head.repo.fork == false | ||||||||||
| permissions: | ||||||||||
|
|
||||||||||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧹 Nitpick | 🔵 Trivial
Consider renaming for consistency.
The Linux chromium job uses
matrix.shardIndex(line 54), while this Windows job usesmatrix.shard. For maintainability, consider usingshardIndexhere as well.🔎 Proposed change for consistency
Then update references on lines 178 and 188:
🤖 Prompt for AI Agents