6060 - os : ubuntu-latest
6161 target : aarch64-unknown-linux-gnu
6262 manylinux : " 2_28"
63+ - os : windows-latest
64+ target : x86_64-pc-windows-msvc
6365 runs-on : ${{ matrix.os }}
6466 steps :
6567 - uses : actions/checkout@v6
@@ -158,7 +160,7 @@ jobs:
158160 set -euo pipefail
159161 echo "Dists:"; ls -1 dist/
160162 missing=()
161- for target in aarch64-apple-darwin x86_64-apple-darwin x86_64-unknown-linux-gnu aarch64-unknown-linux-gnu; do
163+ for target in aarch64-apple-darwin x86_64-apple-darwin x86_64-unknown-linux-gnu aarch64-unknown-linux-gnu x86_64-pc-windows-msvc ; do
162164 # Maturin encodes the target in the wheel filename's platform tag:
163165 # aarch64-apple-darwin → macosx_*_arm64
164166 # x86_64-apple-darwin → macosx_*_x86_64
@@ -169,6 +171,7 @@ jobs:
169171 x86_64-apple-darwin) pattern="macosx_*_x86_64" ;;
170172 x86_64-unknown-linux-gnu) pattern="manylinux_*_x86_64" ;;
171173 aarch64-unknown-linux-gnu) pattern="manylinux_*_aarch64" ;;
174+ x86_64-pc-windows-msvc) pattern="win_amd64" ;;
172175 esac
173176 if ! ls dist/*${pattern}*.whl >/dev/null 2>&1; then
174177 missing+=("$target")
@@ -228,6 +231,8 @@ jobs:
228231 target : x86_64-unknown-linux-gnu
229232 - os : ubuntu-latest
230233 target : aarch64-unknown-linux-gnu
234+ - os : windows-latest
235+ target : x86_64-pc-windows-msvc
231236 runs-on : ${{ matrix.os }}
232237 steps :
233238 - uses : actions/checkout@v6
@@ -285,9 +290,9 @@ jobs:
285290 native.js
286291 native.d.ts
287292
288- # ── Pack all 5 npm packages (fan-in from the per-platform builds) ─────────
293+ # ── Pack all 6 npm packages (fan-in from the per-platform builds) ─────────
289294 # Assembles the exact publishable set — the main @strands-agents/shell package
290- # plus the 4 per-platform packages — using the napi-rs v3 release flow, then
295+ # plus the 5 per-platform packages — using the napi-rs v3 release flow, then
291296 # packs each to a .tgz and uploads them. Download the `npm-packages` artifact
292297 # to install/test the real tarballs locally before any publish happens.
293298 node-pack :
@@ -346,18 +351,18 @@ jobs:
346351 for d in npm/*/; do (cd "$d" && npm pack --pack-destination "$GITHUB_WORKSPACE/dist-npm"); done
347352
348353 - name : Verify the packaged set matches the publish matrix
349- # Guard against drift: the publish stage uses a static matrix of the 4
350- # platform packages (+ the main package = 5 total). If package.json's
354+ # Guard against drift: the publish stage uses a static matrix of the 5
355+ # platform packages (+ the main package = 6 total). If package.json's
351356 # napi.targets gains/loses a target, the packed count changes here and
352357 # this fails the run BEFORE anything is published — prompting whoever
353358 # changed the targets to update node-publish-platform's matrix to match.
354359 run : |
355360 set -euo pipefail
356- expected=5
361+ expected=6
357362 actual=$(ls dist-npm/*.tgz | wc -l | tr -d ' ')
358363 echo "Packed tarballs ($actual):"; ls -1 dist-npm/*.tgz
359364 if [ "$actual" -ne "$expected" ]; then
360- echo "::error::Expected $expected npm packages (1 main + 4 platform) but packed $actual. If napi.targets changed, update node-publish-platform's matrix to match."
365+ echo "::error::Expected $expected npm packages (1 main + 5 platform) but packed $actual. If napi.targets changed, update node-publish-platform's matrix to match."
361366 exit 1
362367 fi
363368
@@ -374,7 +379,7 @@ jobs:
374379 name : npm-packages
375380 path : dist-npm/*.tgz
376381
377- # ── Publish the 4 per-platform packages (one independently retriable job each)
382+ # ── Publish the 5 per-platform packages (one independently retriable job each)
378383 # Each leg publishes exactly one tarball that node-inspect packed + uploaded,
379384 # so a flaky single platform can be re-run on its own via "Re-run failed jobs"
380385 # without touching the others. The matrix is static — its entries must match
@@ -401,6 +406,7 @@ jobs:
401406 - strands-agents-shell-darwin-arm64
402407 - strands-agents-shell-linux-x64-gnu
403408 - strands-agents-shell-linux-arm64-gnu
409+ - strands-agents-shell-win32-x64-msvc
404410 env :
405411 V : ${{ needs.version.outputs.version }}
406412 steps :
0 commit comments