@@ -623,8 +623,9 @@ jobs: |
623 | 623 | strategy: |
624 | 624 | fail-fast: false |
625 | 625 | matrix: |
| 626 | + shard: [1, 2] |
| 627 | + shards: [2] |
626 | 628 | bundle: |
627 | | - - esm |
628 | 629 | - bundle |
629 | 630 | - bundle_min |
630 | 631 | - bundle_logs_metrics |
@@ -640,10 +641,14 @@ jobs: |
640 | 641 | project: |
641 | 642 | - chromium |
642 | 643 | include: |
643 | | - # Only check all projects for full bundle |
644 | | - # We also shard the tests as they take the longest |
645 | 644 | - bundle: bundle_tracing_replay_feedback_logs_metrics_min |
646 | 645 | project: 'webkit' |
| 646 | + shard: 1 |
| 647 | + shards: 2 |
| 648 | + - bundle: bundle_tracing_replay_feedback_logs_metrics_min |
| 649 | + project: 'webkit' |
| 650 | + shard: 2 |
| 651 | + shards: 2 |
647 | 652 | - bundle: bundle_tracing_replay_feedback_logs_metrics_min |
648 | 653 | project: 'firefox' |
649 | 654 | - bundle: esm |
@@ -662,10 +667,6 @@ jobs: |
662 | 667 | project: chromium |
663 | 668 | shard: 4 |
664 | 669 | shards: 4 |
665 | | - exclude: |
666 | | - # Do not run the un-sharded esm tests |
667 | | - - bundle: esm |
668 | | - project: 'chromium' |
669 | 670 |
|
670 | 671 | steps: |
671 | 672 | - name: Check out current commit (${{ needs.job_get_metadata.outputs.commit_label }}) |
@@ -773,7 +774,7 @@ jobs: |
773 | 774 | retention-days: 7 |
774 | 775 |
|
775 | 776 | job_node_integration_tests: |
776 | | - name: Node (${{ matrix.node }}) Integration Tests (${{ matrix.shard }}/3) |
| 777 | + name: Node (${{ matrix.node }}) Integration Tests (${{ matrix.shard }}/${{ matrix.shards }}) |
777 | 778 | needs: [job_get_metadata, job_build] |
778 | 779 | if: needs.job_build.outputs.changed_node_integration == 'true' || github.event_name != 'pull_request' |
779 | 780 | runs-on: ubuntu-24.04-arm |
@@ -783,8 +784,19 @@ jobs: |
783 | 784 | strategy: |
784 | 785 | fail-fast: false |
785 | 786 | matrix: |
786 | | - node: [20.19, 22, 24, 26, '^27.0.0-0'] |
787 | | - shard: [1, 2, 3] |
| 787 | + node: [20.19, 22, 24, 26] |
| 788 | + shard: [1, 2, 3, 4] |
| 789 | + shards: [4] |
| 790 | + include: |
| 791 | + - node: '^27.0.0-0' |
| 792 | + shard: 1 |
| 793 | + shards: 3 |
| 794 | + - node: '^27.0.0-0' |
| 795 | + shard: 2 |
| 796 | + shards: 3 |
| 797 | + - node: '^27.0.0-0' |
| 798 | + shard: 3 |
| 799 | + shards: 3 |
788 | 800 | steps: |
789 | 801 | - name: Check out current commit (${{ needs.job_get_metadata.outputs.commit_label }}) |
790 | 802 | uses: actions/checkout@v7 |
@@ -820,7 +832,7 @@ jobs: |
820 | 832 | - name: Run integration tests |
821 | 833 | working-directory: dev-packages/node-integration-tests |
822 | 834 | # Tedious runs in the dedicated SQL Server job because its database container requires x86. |
823 | | - run: pnpm run test --shard=${{ matrix.shard }}/3 --exclude '**/tracing/tedious/**' |
| 835 | + run: pnpm run test --shard=${{ matrix.shard }}/${{ matrix.shards }} --exclude '**/tracing/tedious/**' |
824 | 836 |
|
825 | 837 | job_sql_server_integration_tests: |
826 | 838 | name: SQL Server Integration Tests (Node 24) |
@@ -849,15 +861,16 @@ jobs: |
849 | 861 |
|
850 | 862 | # Runs on the wrangler pinned in the package, so the required run stays on a fixed, older runtime. |
851 | 863 | job_cloudflare_integration_tests: |
852 | | - name: Cloudflare Integration Tests (${{ matrix.shard }}/2) |
| 864 | + name: Cloudflare Integration Tests (${{ matrix.shard }}/${{ matrix.shards }}) |
853 | 865 | needs: [job_get_metadata, job_build] |
854 | 866 | if: needs.job_build.outputs.changed_cloudflare_integration == 'true' || github.event_name != 'pull_request' |
855 | 867 | runs-on: ubuntu-24.04 |
856 | 868 | timeout-minutes: 15 |
857 | 869 | strategy: |
858 | 870 | fail-fast: false |
859 | 871 | matrix: |
860 | | - shard: [1, 2] |
| 872 | + shard: [1, 2, 3, 4] |
| 873 | + shards: [4] |
861 | 874 | steps: &cloudflare_integration_tests_steps |
862 | 875 | - name: Check out current commit (${{ needs.job_get_metadata.outputs.commit_label }}) |
863 | 876 | uses: actions/checkout@v7 |
@@ -884,7 +897,7 @@ jobs: |
884 | 897 |
|
885 | 898 | - name: Run integration tests |
886 | 899 | working-directory: dev-packages/cloudflare-integration-tests |
887 | | - run: pnpm run test --shard=${{ matrix.shard }}/2 |
| 900 | + run: pnpm run test --shard=${{ matrix.shard }}/${{ matrix.shards }} |
888 | 901 |
|
889 | 902 | # Shows breakage from new wrangler and workerd releases early. It is not in `job_required_jobs_passed`, so it cannot |
890 | 903 | # block a PR, and like the optional E2E tests it does not run on release branches. |
@@ -900,6 +913,7 @@ jobs: |
900 | 913 | fail-fast: false |
901 | 914 | matrix: |
902 | 915 | shard: [1, 2] |
| 916 | + shards: [2] |
903 | 917 | wrangler: [latest] |
904 | 918 | steps: *cloudflare_integration_tests_steps |
905 | 919 |
|
|