aboutsummaryrefslogtreecommitdiffstats
path: root/.github
diff options
context:
space:
mode:
authorsagudev <16504129+sagudev@users.noreply.github.com>2025-04-18 08:38:28 +0200
committerGitHub <noreply@github.com>2025-04-18 06:38:28 +0000
commitbd9242acfa599ca6bc3d79c10edfeb7cb54246ae (patch)
tree8a70963131a6e5925d30e3a6e2b9495339c13adb /.github
parent5e2d42e94459af76c8752fef934a7dde8ac5b41a (diff)
downloadservo-bd9242acfa599ca6bc3d79c10edfeb7cb54246ae.tar.gz
servo-bd9242acfa599ca6bc3d79c10edfeb7cb54246ae.zip
CI: Add `number_of_chunks` (#36584)
This allows changing number of chunks used for WPT testing (sometimes useful for WebGPU). Testing: Manual try runs Fixes: #30062 --------- Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
Diffstat (limited to '.github')
-rw-r--r--.github/workflows/dispatch-workflow.yml4
-rw-r--r--.github/workflows/linux-wpt.yml22
-rw-r--r--.github/workflows/linux.yml9
-rw-r--r--.github/workflows/main.yml1
-rw-r--r--.github/workflows/try-label.yml1
-rw-r--r--.github/workflows/try.yml1
6 files changed, 34 insertions, 4 deletions
diff --git a/.github/workflows/dispatch-workflow.yml b/.github/workflows/dispatch-workflow.yml
index c938b1acd39..472f4813cd7 100644
--- a/.github/workflows/dispatch-workflow.yml
+++ b/.github/workflows/dispatch-workflow.yml
@@ -14,6 +14,9 @@ on:
wpt:
required: true
type: boolean
+ number-of-wpt-chunks:
+ required: true
+ type: number
unit-tests:
required: true
type: boolean
@@ -57,6 +60,7 @@ jobs:
with:
profile: ${{ inputs.profile }}
wpt: ${{ inputs.wpt }}
+ number-of-wpt-chunks: ${{ inputs.number-of-wpt-chunks }}
unit-tests: ${{ inputs.unit-tests }}
build-libservo: ${{ inputs.build-libservo }}
wpt-args: ${{ inputs.wpt-args }}
diff --git a/.github/workflows/linux-wpt.yml b/.github/workflows/linux-wpt.yml
index 03dce7456b2..e3425a39575 100644
--- a/.github/workflows/linux-wpt.yml
+++ b/.github/workflows/linux-wpt.yml
@@ -13,6 +13,10 @@ on:
default: false
required: false
type: boolean
+ number-of-wpt-chunks:
+ default: 20
+ required: false
+ type: number
env:
RUST_BACKTRACE: 1
@@ -24,15 +28,25 @@ env:
WPT_ALWAYS_SUCCEED_ARG: "${{ inputs.wpt-sync-from-upstream && '--always-succeed' || '' }}"
jobs:
+ chunks:
+ name: Generate chunks array
+ runs-on: ubuntu-22.04
+ outputs:
+ chunks-array: ${{ steps.generate-chunks-array.outputs.result }}
+ steps:
+ - uses: actions/github-script@v7
+ id: generate-chunks-array
+ with:
+ script: |
+ return Array.from({length: ${{ inputs.number-of-wpt-chunks }}}, (_, i) => i + 1)
linux-wpt:
name: WPT
runs-on: ubuntu-22.04
- env:
- max_chunk_id: 20
+ needs: chunks
strategy:
fail-fast: false
matrix:
- chunk_id: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
+ chunk_id: ${{ fromJson(needs.chunks.outputs.chunks-array) }}
steps:
- uses: actions/checkout@v4
if: github.event_name != 'pull_request_target'
@@ -66,7 +80,7 @@ jobs:
./mach test-wpt \
$WPT_ALWAYS_SUCCEED_ARG \
--${{ inputs.profile }} --processes $(nproc) --timeout-multiplier 2 \
- --total-chunks ${{ env.max_chunk_id }} --this-chunk ${{ matrix.chunk_id }} \
+ --total-chunks ${{ inputs.number-of-wpt-chunks }} --this-chunk ${{ matrix.chunk_id }} \
--log-raw wpt-full-logs/linux/raw/${{ matrix.chunk_id }}.log \
--log-wptreport wpt-full-logs/linux/wptreport/${{ matrix.chunk_id }}.json \
--log-raw-unexpected wpt-filtered-logs/linux/${{ matrix.chunk_id }}.log \
diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml
index 03d863285a7..033f9795a23 100644
--- a/.github/workflows/linux.yml
+++ b/.github/workflows/linux.yml
@@ -17,6 +17,10 @@ on:
wpt:
required: false
type: boolean
+ number-of-wpt-chunks:
+ default: 20
+ required: false
+ type: number
unit-tests:
required: false
default: false
@@ -58,6 +62,10 @@ on:
wpt:
required: false
type: boolean
+ number-of-wpt-chunks:
+ default: 20
+ required: false
+ type: number
unit-tests:
required: false
default: false
@@ -215,6 +223,7 @@ jobs:
wpt-args: ${{ inputs.wpt-args }}
profile: ${{ inputs.profile }}
wpt-sync-from-upstream: ${{ inputs.wpt-sync-from-upstream }}
+ number-of-wpt-chunks: ${{ inputs. number-of-wpt-chunks }}
secrets: inherit
bencher:
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index c2bda1a7c2c..1545dfa2450 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -56,6 +56,7 @@ jobs:
unit-tests: ${{ matrix.unit_tests }}
build-libservo: ${{ matrix.build_libservo }}
wpt-args: ${{ matrix.wpt_args }}
+ number-of-wpt-chunks: ${{ matrix.number_of_wpt_chunks }}
bencher: ${{ matrix.bencher }}
build-result:
diff --git a/.github/workflows/try-label.yml b/.github/workflows/try-label.yml
index 5444b75a4bd..b1ca27a6f58 100644
--- a/.github/workflows/try-label.yml
+++ b/.github/workflows/try-label.yml
@@ -128,6 +128,7 @@ jobs:
unit-tests: ${{ matrix.unit_tests }}
build-libservo: ${{ matrix.build_libservo }}
wpt-args: ${{ matrix.wpt_args }}
+ number-of-wpt-chunks: ${{ matrix.number_of_wpt_chunks }}
bencher: ${{ matrix.bencher }}
results:
diff --git a/.github/workflows/try.yml b/.github/workflows/try.yml
index 274ad7483ff..cba4fc03e06 100644
--- a/.github/workflows/try.yml
+++ b/.github/workflows/try.yml
@@ -108,6 +108,7 @@ jobs:
unit-tests: ${{ matrix.unit_tests }}
build-libservo: ${{ matrix.build_libservo }}
wpt-args: ${{ matrix.wpt_args }}
+ number-of-wpt-chunks: ${{ matrix.number_of_wpt_chunks }}
bencher: ${{ matrix.bencher }}
build-result: