1212
1313permissions :
1414 contents : read
15+ pull-requests : read
1516
1617# A workflow run is made up of one or more jobs that can run sequentially or in parallel
1718jobs :
@@ -26,28 +27,52 @@ jobs:
2627 - name : Checkout
2728 uses : actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
2829
30+ - uses : dorny/paths-filter@ceb8a2b8f2d89434be7ff52d3de7ec3738c5cc9d # v4.0.3
31+ id : changes
32+ with :
33+ predicate-quantifier : ' every'
34+ filters : |
35+ changed:
36+ - "!**/*.md"
37+ - "!**/*.mdx"
38+ - "!**/_meta.json"
39+ - "!**/_nav.json"
40+ - "!**/dictionary.txt"
41+
2942 - name : Setup Node.js
43+ if : steps.changes.outputs.changed == 'true'
3044 uses : actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7
3145 with :
32- node-version : 24.18.1
46+ node-version : 24.19.0
3347 package-manager-cache : false
3448
3549 - name : Install Pnpm
50+ if : steps.changes.outputs.changed == 'true'
3651 uses : pnpm/action-setup@0977fd99725f1db4007ccb2928dbb4e90d06cc86 # v6.0.10
3752 with :
3853 run_install : true
3954
4055 - name : Build Packages
56+ if : steps.changes.outputs.changed == 'true'
4157 run : node --run build
4258
4359 - name : Run Rust Tests
60+ if : steps.changes.outputs.changed == 'true'
4461 run : cargo test --profile ci --workspace --locked
4562
4663 - name : Build Native Binding
64+ if : steps.changes.outputs.changed == 'true'
4765 run : pnpm --filter rstack build:native:ci
4866
4967 - name : Check Generated Native Files
68+ if : steps.changes.outputs.changed == 'true'
5069 run : git diff --exit-code -- packages/rstack/binding.cjs packages/rstack/binding.d.cts
5170
5271 - name : Run Test
72+ if : steps.changes.outputs.changed == 'true' && runner.os != 'Windows'
5373 run : node --run test
74+
75+ # Run package tests serially on Windows to avoid resource contention between nested test workers.
76+ - name : Run Test (Windows)
77+ if : steps.changes.outputs.changed == 'true' && runner.os == 'Windows'
78+ run : pnpm --workspace-concurrency=1 --filter "./packages/**" test
0 commit comments