|
71 | 71 | stepName: 'build-native'
|
72 | 72 | secrets: inherit
|
73 | 73 |
|
| 74 | + build-native-windows: |
| 75 | + name: build-native-windows |
| 76 | + uses: ./.github/workflows/build_reusable.yml |
| 77 | + with: |
| 78 | + skipInstallBuild: 'yes' |
| 79 | + stepName: 'build-native-windows' |
| 80 | + runs_on_labels: '["windows","self-hosted","x64"]' |
| 81 | + buildNativeTarget: 'x86_64-pc-windows-msvc' |
| 82 | + |
| 83 | + secrets: inherit |
| 84 | + |
74 | 85 | build-next:
|
75 | 86 | name: build-next
|
76 | 87 | uses: ./.github/workflows/build_reusable.yml
|
@@ -200,8 +211,6 @@ jobs:
|
200 | 211 | name: test devlow package
|
201 | 212 | needs: ['optimize-ci', 'changes']
|
202 | 213 | if: ${{ needs.optimize-ci.outputs.skip == 'false' && needs.changes.outputs.docs-only == 'false' }}
|
203 |
| - strategy: |
204 |
| - fail-fast: false |
205 | 214 | uses: ./.github/workflows/build_reusable.yml
|
206 | 215 | with:
|
207 | 216 | stepName: 'test-devlow'
|
@@ -335,6 +344,26 @@ jobs:
|
335 | 344 |
|
336 | 345 | secrets: inherit
|
337 | 346 |
|
| 347 | + test-unit-windows: |
| 348 | + name: test unit windows |
| 349 | + needs: ['changes', 'build-native', 'build-native-windows'] |
| 350 | + if: ${{ needs.changes.outputs.docs-only == 'false' }} |
| 351 | + |
| 352 | + strategy: |
| 353 | + fail-fast: false |
| 354 | + matrix: |
| 355 | + node: [18, 20] # TODO: use env var like [env.NODE_MAINTENANCE_VERSION, env.NODE_LTS_VERSION] |
| 356 | + |
| 357 | + uses: ./.github/workflows/build_reusable.yml |
| 358 | + with: |
| 359 | + nodeVersion: ${{ matrix.node }} |
| 360 | + afterBuild: node run-tests.js -c ${TEST_CONCURRENCY} --type unit |
| 361 | + stepName: 'test-unit-windows-${{ matrix.node }}' |
| 362 | + runs_on_labels: '["windows","self-hosted","x64"]' |
| 363 | + buildNativeTarget: 'x86_64-pc-windows-msvc' |
| 364 | + |
| 365 | + secrets: inherit |
| 366 | + |
338 | 367 | test-new-tests-dev:
|
339 | 368 | name: Test new tests for flakes (dev)
|
340 | 369 | needs: ['optimize-ci', 'changes', 'build-native', 'build-next']
|
@@ -407,6 +436,67 @@ jobs:
|
407 | 436 | stepName: 'test-dev-react-${{ matrix.react }}-${{ matrix.group }}'
|
408 | 437 | secrets: inherit
|
409 | 438 |
|
| 439 | + test-dev-windows: |
| 440 | + name: test dev windows |
| 441 | + needs: |
| 442 | + [ |
| 443 | + 'optimize-ci', |
| 444 | + 'changes', |
| 445 | + 'build-native-windows', |
| 446 | + 'build-native', |
| 447 | + 'build-next', |
| 448 | + ] |
| 449 | + if: ${{ needs.optimize-ci.outputs.skip == 'false' && needs.changes.outputs.docs-only == 'false' }} |
| 450 | + |
| 451 | + uses: ./.github/workflows/build_reusable.yml |
| 452 | + with: |
| 453 | + afterBuild: NEXT_TEST_MODE=dev node run-tests.js -c ${TEST_CONCURRENCY} test/e2e/app-dir/app/index.test.ts test/e2e/app-dir/app-edge/app-edge.test.ts |
| 454 | + stepName: 'test-dev-windows' |
| 455 | + runs_on_labels: '["windows","self-hosted","x64"]' |
| 456 | + buildNativeTarget: 'x86_64-pc-windows-msvc' |
| 457 | + secrets: inherit |
| 458 | + |
| 459 | + test-integration-windows: |
| 460 | + name: test integration windows |
| 461 | + needs: |
| 462 | + [ |
| 463 | + 'optimize-ci', |
| 464 | + 'changes', |
| 465 | + 'build-native-windows', |
| 466 | + 'build-native', |
| 467 | + 'build-next', |
| 468 | + ] |
| 469 | + if: ${{ needs.optimize-ci.outputs.skip == 'false' && needs.changes.outputs.docs-only == 'false' }} |
| 470 | + |
| 471 | + uses: ./.github/workflows/build_reusable.yml |
| 472 | + with: |
| 473 | + nodeVersion: 18.18.2 |
| 474 | + afterBuild: node run-tests.js -c 4 test/production/pages-dir/production/test/index.test.ts test/integration/css-client-nav/test/index.test.js test/integration/rewrites-has-condition/test/index.test.js test/integration/create-next-app/index.test.ts test/integration/create-next-app/package-manager/pnpm.test.ts |
| 475 | + stepName: 'test-integration-windows' |
| 476 | + runs_on_labels: '["windows","self-hosted","x64"]' |
| 477 | + buildNativeTarget: 'x86_64-pc-windows-msvc' |
| 478 | + secrets: inherit |
| 479 | + |
| 480 | + test-prod-windows: |
| 481 | + name: test prod windows |
| 482 | + needs: |
| 483 | + [ |
| 484 | + 'optimize-ci', |
| 485 | + 'changes', |
| 486 | + 'build-native-windows', |
| 487 | + 'build-native', |
| 488 | + 'build-next', |
| 489 | + ] |
| 490 | + if: ${{ needs.optimize-ci.outputs.skip == 'false' && needs.changes.outputs.docs-only == 'false' }} |
| 491 | + |
| 492 | + uses: ./.github/workflows/build_reusable.yml |
| 493 | + with: |
| 494 | + afterBuild: NEXT_TEST_MODE=start node run-tests.js test/e2e/app-dir/app/index.test.ts test/e2e/app-dir/app-edge/app-edge.test.ts |
| 495 | + stepName: 'test-prod-windows' |
| 496 | + runs_on_labels: '["windows","self-hosted","x64"]' |
| 497 | + buildNativeTarget: 'x86_64-pc-windows-msvc' |
| 498 | + secrets: inherit |
| 499 | + |
410 | 500 | test-prod:
|
411 | 501 | name: test prod
|
412 | 502 | needs: ['optimize-ci', 'changes', 'build-native', 'build-next']
|
@@ -587,6 +677,10 @@ jobs:
|
587 | 677 | 'test-new-tests-deploy',
|
588 | 678 | 'test-turbopack-production',
|
589 | 679 | 'test-turbopack-production-integration',
|
| 680 | + 'test-unit-windows', |
| 681 | + 'test-dev-windows', |
| 682 | + 'test-integration-windows', |
| 683 | + 'test-prod-windows', |
590 | 684 | ]
|
591 | 685 |
|
592 | 686 | if: always()
|
|
0 commit comments