Skip to content

release: Build and validate the Windows ARM64 beta package - #664

Merged
zackees merged 18 commits into
masterfrom
fix/629-windows-arm64
Oct 14, 2026
Merged

zackees merged 18 commits into
masterfrom
fix/629-windows-arm64

Conversation

@zackees

@zackees zackees commented Oct 14, 2026 •

Copy link
Copy Markdown
Member

Fixes #629. Refs #635 and #627.

Changes

  • Build Windows ARM64 using the existing Windows toolchain, install aarch64-pc-windows-msvc, collect its actual target-specific zip, and require that asset before any release publication.
  • Add verify_only manual dispatch to the existing release workflow. It runs the same production builds, packaging, and full gate for a candidate ref while refusing both normal and continuous publication; existing master/date/repair guards remain in normal mode.
  • Pass rust_libobs: true explicitly to called AppImage builds. A manual parent dispatch previously inherited workflow_dispatch without this input and could silently build a C-only AppImage.
  • Run the exact ARM64 zip on a native Windows ARM64 runner, verify the frontend PE machine, and reload a saved profile containing screen, camera, and microphone sources. Authenticate to the live websocket, check registered capture kinds and selected profile/scene/source items, obtain PNG and JPEG screenshots with matching MIME/image signatures, and close only the owned frontend cleanly.
  • Remove the real packaged win-dshow.dll and require startup validation to fail specifically for missing dshow_input, then accept that expected failure explicitly in the Actions PowerShell wrapper. Publication requires the native job to succeed.
  • Refuse any existing config and any fixture path other than the frontend's actual platform config path; always clean the owned fixture after the child exits.

Hosted runners have no physical camera/microphone devices. The runtime test proves plugin registration, package loading, saved-profile state, rendering/codecs, and clean startup/shutdown; it does not claim captured physical camera/microphone frames.

RED → GREEN

  • 9799b8af0: four failures for the missing ARM64 matrix, collector and required asset.

  • 290139593: missing Rust ARM64 standard-library provisioning.

  • 8d0e2a0e2: nonpublishing verification absent (one failure, three errors).

  • e5c045a4f: two failures for manual called AppImage Rust selection.

  • 005db2526: missing native saved-profile gate.

  • 160003400: wrong config roots accepted (missing validator).
    The corresponding GREEN commits pass the focused suite. The native mutation is part of the release workflow, not simulated by a fixture-only unit test.

  • f1bd4cc57: two failures executing the actual package action argument builder with PowerShell 7.6.5: x64 splats --run into characters; cross-built ARM64 supplies --expect-version without --run. 60f244fa2 fixes both; ARM64 runtime version checking runs on the native ARM runner.

  • Actual production candidate run 38492393948 compiled all four desktop targets, then failed the Windows argument builder and macOS DMG volume-reader checks. db70a2bbc fixes the latter using a regular plist file while retaining the VolumeName assertion. A new candidate run is required.

Validation

145 CI Python tests pass (one environment skip); focused real PowerShell regression and integration review are clean. Mandatory lint/unit pass: OFF/ON CTest each reports zero failures out of 192 (environment skips retained), with 1766 identical exports. Fresh attestation passed all four lanes in 397 seconds at 737edb6aad1d (tree fd3951b26af2) after rebasing onto master 0a50b7cf3 and resolving #666's overlapping verifier changes. The stamped head is pushed unchanged.

The exact published head passed complete production verification in 38500142290. All desktop packages, the full platform gate, and the AppImage tests on Arch/Debian/Fedora/Ubuntu pass. Native Windows ARM64 job 115654578226 verifies the PE machine/version, reloads the saved screen/camera/microphone profile, validates PNG/JPEG screenshots and clean shutdown, then rejects the same package after deleting its real win-dshow.dll. The run completed SUCCESS; verification publishes no release. All PR checks are terminal with no failures.

The separate absent-AppImage-input regression found in merged #670 is being transferred to its own PR, with actual GitHub-engine RED/GREEN already committed locally. It is not included in this validated platform head. The primary checkout has been rebased after later master merges.

The direct MIME include prerequisite landed in #660 with obs-rust/obs-websocket#10. This PR now targets master. #660's known Windows Tier 2 allocation-count failure remains tracked in #663; it is not being treated as a successful gate.

@zackees

zackees commented Oct 14, 2026

Copy link
Copy Markdown
Member Author

The exact stamped head d99adec is now running the existing production release workflow with verify_only=true: https://github.com/obs-rust/obs-studio/actions/runs/38492393948 . This run cannot publish normal or continuous releases. Native ARM64 saved-profile startup and the real removed-camera-module negative test remain pending. The Windows allocation-count failure tracked in #663 is also a known release-gate risk; it will not be waived if reproduced.

@zackees
zackees changed the base branch from fix/659-websocket-compile to master October 14, 2026 00:54
@zackees

zackees commented Oct 14, 2026

Copy link
Copy Markdown
Member Author

First actual verification run38492393948 is terminal FAILED, with concrete verifier regressions exposed after compilation/package success. Mac arm64 and Intel fail because PlistBuddy cannot parse the /dev/stdin pipe (jobs115620499528/629); the regular-file reader fix is prepared. Windows x64 fails with unrecognized arguments - - r u n (job115620499557): PowerShell unrolls the one-element array emitted by if, so splatting the scalar string splits it into characters. Windows ARM64 fails --expect-version needs --run (job115620499521): the x64 build host cannot execute that package, so version verification must happen in the native ARM64 job. These native failures are RED evidence; the next candidate will keep all validation requirements and fix their execution paths.

@zackees
zackees marked this pull request as ready for review October 14, 2026 01:44
@zackees
zackees force-pushed the fix/629-windows-arm64 branch from d99adec to 99ce02d Compare October 14, 2026 01:50
@zackees

zackees commented Oct 14, 2026

Copy link
Copy Markdown
Member Author

Replaced head d99adec with stamped 99ce02d, rebased onto master db559d9 after #660 and #658 merged. Fresh ./lint, ./unittest and all four attestation lanes pass (454 seconds, tree2555ce25ebed; OFF/ON zero failures out of192, 1766 identical exports).

The actual failed package run38492393948 exposed the Windows argument and macOS volume-reader errors. Real PowerShell RED4f8eebb7b has two failing target cases; GREEN1ca800202 builds a proper argument array and moves ARM64 runtime version validation to the native ARM runner. The DMG reader now uses a regular plist file with the original strict VolumeName check. Native smoke runs despite an unrelated matrix failure, while publication still requires all platform builds and native validation.

Dispatching a fresh verify_only production package run at this exact repaired head. PR remains draft until actual native evidence is recorded. #663 is a separate known Windows Tier2 startup race, with #667 now open; its failure is not waived.

Local-Gate: v1 tree=abf4f928509e75fb670f1c0cc08b982c7abd5df6 secs=436 lanes=lint:run,rust-test:run,cross:run,tier2-linux:run
Ci-Attestation: {"at":1791934252,"gate":"rust/all/fmt","host":"linux-x86_64","key":"39aeb2457f755ca9e43a2c6dc38fc524f95e16b47e10d88e9749fd8430fad88b","lane":"lint","parents":["9cdc77aae50ef133414b491499bd083b5b35f890"],"secs":41,"stamp":"7eecebf9c945a5e1c6742a0db9f14aa1","tree":"abf4f928509e75fb670f1c0cc08b982c7abd5df6","v":1,"via":"run"}
Ci-Attestation: {"at":1791934252,"gate":"rust/x86_64-unknown-linux-gnu/clippy","host":"linux-x86_64","key":"39aeb2457f755ca9e43a2c6dc38fc524f95e16b47e10d88e9749fd8430fad88b","lane":"lint","parents":["9cdc77aae50ef133414b491499bd083b5b35f890"],"secs":41,"stamp":"7af163fa4800eee9f23e6ff8e1f5ec54","tree":"abf4f928509e75fb670f1c0cc08b982c7abd5df6","v":1,"via":"run"}
Ci-Attestation: {"at":1791934252,"gate":"rust/x86_64-unknown-linux-gnu/test","host":"linux-x86_64","key":"2b236280a6fc390f6c61fe21295733b849e7c5a5213d464eb74aaafa9b83d9e3","lane":"rust-test","parents":["9cdc77aae50ef133414b491499bd083b5b35f890"],"secs":138,"stamp":"b9e7296f46ef7b111b1ca88c6c018278","tree":"abf4f928509e75fb670f1c0cc08b982c7abd5df6","v":1,"via":"run"}
Ci-Attestation: {"at":1791934252,"gate":"rust/x86_64-pc-windows-msvc/clippy","host":"linux-x86_64","key":"810600a17694cdade5ccde9d1275651d7b63aabe61686b918414231b2517750b","lane":"cross","parents":["9cdc77aae50ef133414b491499bd083b5b35f890"],"secs":140,"stamp":"74146ddbb5ef871017cbdcd937d95272","tree":"abf4f928509e75fb670f1c0cc08b982c7abd5df6","v":1,"via":"run"}
Ci-Attestation: {"at":1791934252,"gate":"rust/x86_64-pc-windows-msvc/dylint","host":"linux-x86_64","key":"810600a17694cdade5ccde9d1275651d7b63aabe61686b918414231b2517750b","lane":"cross","parents":["9cdc77aae50ef133414b491499bd083b5b35f890"],"secs":140,"stamp":"a707fbd8074e3e08174f63635cabff6b","tree":"abf4f928509e75fb670f1c0cc08b982c7abd5df6","v":1,"via":"run"}
Ci-Attestation: {"at":1791934252,"gate":"rust/aarch64-apple-darwin/clippy","host":"linux-x86_64","key":"810600a17694cdade5ccde9d1275651d7b63aabe61686b918414231b2517750b","lane":"cross","parents":["9cdc77aae50ef133414b491499bd083b5b35f890"],"secs":140,"stamp":"0fdc394c2e66d9ee24ff0b54d3d07b9a","tree":"abf4f928509e75fb670f1c0cc08b982c7abd5df6","v":1,"via":"run"}
Ci-Attestation: {"at":1791934252,"gate":"rust/aarch64-apple-darwin/dylint","host":"linux-x86_64","key":"810600a17694cdade5ccde9d1275651d7b63aabe61686b918414231b2517750b","lane":"cross","parents":["9cdc77aae50ef133414b491499bd083b5b35f890"],"secs":140,"stamp":"33917e0007c18f61447884f4a71cc386","tree":"abf4f928509e75fb670f1c0cc08b982c7abd5df6","v":1,"via":"run"}
Ci-Attestation: {"at":1791934252,"gate":"rust/x86_64-apple-darwin/clippy","host":"linux-x86_64","key":"810600a17694cdade5ccde9d1275651d7b63aabe61686b918414231b2517750b","lane":"cross","parents":["9cdc77aae50ef133414b491499bd083b5b35f890"],"secs":140,"stamp":"cdf5e887dd8cfa43c56b11404334c903","tree":"abf4f928509e75fb670f1c0cc08b982c7abd5df6","v":1,"via":"run"}
Ci-Attestation: {"at":1791934252,"gate":"rust/x86_64-apple-darwin/dylint","host":"linux-x86_64","key":"810600a17694cdade5ccde9d1275651d7b63aabe61686b918414231b2517750b","lane":"cross","parents":["9cdc77aae50ef133414b491499bd083b5b35f890"],"secs":140,"stamp":"1b44a012e92e0d43a27cb8e0095c833e","tree":"abf4f928509e75fb670f1c0cc08b982c7abd5df6","v":1,"via":"run"}
Ci-Attestation: {"at":1791934252,"gate":"cpp/linux-x64/tier2","host":"linux-x86_64","key":"8098179f4076e33743f92a9311682b8c2c4f7e742d98185e21f108bcb565ca20","lane":"tier2-linux","parents":["9cdc77aae50ef133414b491499bd083b5b35f890"],"secs":117,"stamp":"34e44a08188214e9befdf9a98aaba51c","tree":"abf4f928509e75fb670f1c0cc08b982c7abd5df6","v":1,"via":"run"}
Local-Gate: v1 tree=e7ae36636ef71eb806498097bbbef48a4b857766 secs=430 lanes=lint:run,rust-test:run,cross:run,tier2-linux:run
Ci-Attestation: {"at":1791937255,"gate":"rust/all/fmt","host":"linux-x86_64","key":"12438966148f047776da646b7c37a9e6de804db7e6a214b0123ce7365dc236bf","lane":"lint","parents":["8ade206e4108e63e9ca059719fed4dcca06127ee"],"secs":78,"stamp":"62821f8965b9f9bac853b85c9a939898","tree":"e7ae36636ef71eb806498097bbbef48a4b857766","v":1,"via":"run"}
Ci-Attestation: {"at":1791937255,"gate":"rust/x86_64-unknown-linux-gnu/clippy","host":"linux-x86_64","key":"12438966148f047776da646b7c37a9e6de804db7e6a214b0123ce7365dc236bf","lane":"lint","parents":["8ade206e4108e63e9ca059719fed4dcca06127ee"],"secs":78,"stamp":"24a7e2e8af0760b791f86c5f5090debe","tree":"e7ae36636ef71eb806498097bbbef48a4b857766","v":1,"via":"run"}
Ci-Attestation: {"at":1791937255,"gate":"rust/x86_64-unknown-linux-gnu/test","host":"linux-x86_64","key":"c1280ec4f9de772e7cc25fa078166e7d04da1e8c7826ca0430ec2a3512b8592c","lane":"rust-test","parents":["8ade206e4108e63e9ca059719fed4dcca06127ee"],"secs":126,"stamp":"7c78db9e03f0a24015a4dfe033aab754","tree":"e7ae36636ef71eb806498097bbbef48a4b857766","v":1,"via":"run"}
Ci-Attestation: {"at":1791937255,"gate":"rust/x86_64-pc-windows-msvc/clippy","host":"linux-x86_64","key":"5e51cc7b26536bcff285cdc85e174aca88108c655ddfc2f2e5faff098a2497c4","lane":"cross","parents":["8ade206e4108e63e9ca059719fed4dcca06127ee"],"secs":111,"stamp":"734d19e29cf993dbd4ba024f118c48f5","tree":"e7ae36636ef71eb806498097bbbef48a4b857766","v":1,"via":"run"}
Ci-Attestation: {"at":1791937255,"gate":"rust/x86_64-pc-windows-msvc/dylint","host":"linux-x86_64","key":"5e51cc7b26536bcff285cdc85e174aca88108c655ddfc2f2e5faff098a2497c4","lane":"cross","parents":["8ade206e4108e63e9ca059719fed4dcca06127ee"],"secs":111,"stamp":"cff7a0989be470512b2f9df75511ff8b","tree":"e7ae36636ef71eb806498097bbbef48a4b857766","v":1,"via":"run"}
Ci-Attestation: {"at":1791937255,"gate":"rust/aarch64-apple-darwin/clippy","host":"linux-x86_64","key":"5e51cc7b26536bcff285cdc85e174aca88108c655ddfc2f2e5faff098a2497c4","lane":"cross","parents":["8ade206e4108e63e9ca059719fed4dcca06127ee"],"secs":111,"stamp":"a0a8ef1e8a9a577c70c831a7be2fb3c0","tree":"e7ae36636ef71eb806498097bbbef48a4b857766","v":1,"via":"run"}
Ci-Attestation: {"at":1791937255,"gate":"rust/aarch64-apple-darwin/dylint","host":"linux-x86_64","key":"5e51cc7b26536bcff285cdc85e174aca88108c655ddfc2f2e5faff098a2497c4","lane":"cross","parents":["8ade206e4108e63e9ca059719fed4dcca06127ee"],"secs":111,"stamp":"fac2238b53b3a81ec51ac5d5238dd6f4","tree":"e7ae36636ef71eb806498097bbbef48a4b857766","v":1,"via":"run"}
Ci-Attestation: {"at":1791937255,"gate":"rust/x86_64-apple-darwin/clippy","host":"linux-x86_64","key":"5e51cc7b26536bcff285cdc85e174aca88108c655ddfc2f2e5faff098a2497c4","lane":"cross","parents":["8ade206e4108e63e9ca059719fed4dcca06127ee"],"secs":111,"stamp":"3d200eb4e10d8eed9263073d157423e9","tree":"e7ae36636ef71eb806498097bbbef48a4b857766","v":1,"via":"run"}
Ci-Attestation: {"at":1791937255,"gate":"rust/x86_64-apple-darwin/dylint","host":"linux-x86_64","key":"5e51cc7b26536bcff285cdc85e174aca88108c655ddfc2f2e5faff098a2497c4","lane":"cross","parents":["8ade206e4108e63e9ca059719fed4dcca06127ee"],"secs":111,"stamp":"371a7f1827f15c0503e3e3af1d7af74e","tree":"e7ae36636ef71eb806498097bbbef48a4b857766","v":1,"via":"run"}
Ci-Attestation: {"at":1791937255,"gate":"cpp/linux-x64/tier2","host":"linux-x86_64","key":"4c4e7fde985e5e61d43339c469b17d7d917c040f05d9b307815faab1c9b52d29","lane":"tier2-linux","parents":["8ade206e4108e63e9ca059719fed4dcca06127ee"],"secs":115,"stamp":"e36a5e5b6b12cb8ff64c3715780b5efa","tree":"e7ae36636ef71eb806498097bbbef48a4b857766","v":1,"via":"run"}
Local-Gate: v1 tree=86aa869240bdd6b0a6e8f05f7d004b0a43b21491 secs=427 lanes=lint:run,rust-test:run,cross:run,tier2-linux:run
Ci-Attestation: {"at":1791940501,"gate":"rust/all/fmt","host":"linux-x86_64","key":"aef2e995152dc785bf66a010396fa6382c3be082a127952d1efb14e368dcad3d","lane":"lint","parents":["6cf8bf54e8151db96173d9e01a784bd9fde962cd"],"secs":80,"stamp":"05b73e5428926bb10d086a4fb564d1d3","tree":"86aa869240bdd6b0a6e8f05f7d004b0a43b21491","v":1,"via":"run"}
Ci-Attestation: {"at":1791940501,"gate":"rust/x86_64-unknown-linux-gnu/clippy","host":"linux-x86_64","key":"aef2e995152dc785bf66a010396fa6382c3be082a127952d1efb14e368dcad3d","lane":"lint","parents":["6cf8bf54e8151db96173d9e01a784bd9fde962cd"],"secs":80,"stamp":"c938439d85f62f34b8ccc46c96eda10b","tree":"86aa869240bdd6b0a6e8f05f7d004b0a43b21491","v":1,"via":"run"}
Ci-Attestation: {"at":1791940501,"gate":"rust/x86_64-unknown-linux-gnu/test","host":"linux-x86_64","key":"25469e273a7dec5aaead6dce0c499d60e8d37948be4c17968e4250337abaaef8","lane":"rust-test","parents":["6cf8bf54e8151db96173d9e01a784bd9fde962cd"],"secs":122,"stamp":"076b365fad66e53ac51f03dd92b5235a","tree":"86aa869240bdd6b0a6e8f05f7d004b0a43b21491","v":1,"via":"run"}
Ci-Attestation: {"at":1791940501,"gate":"rust/x86_64-pc-windows-msvc/clippy","host":"linux-x86_64","key":"f7572439b8e0920d90dd94fa27376cb42bb3f689d2e76c55fb1c593413ef85c8","lane":"cross","parents":["6cf8bf54e8151db96173d9e01a784bd9fde962cd"],"secs":105,"stamp":"ea3fbe4b54ba0751ba31672220c3e009","tree":"86aa869240bdd6b0a6e8f05f7d004b0a43b21491","v":1,"via":"run"}
Ci-Attestation: {"at":1791940501,"gate":"rust/x86_64-pc-windows-msvc/dylint","host":"linux-x86_64","key":"f7572439b8e0920d90dd94fa27376cb42bb3f689d2e76c55fb1c593413ef85c8","lane":"cross","parents":["6cf8bf54e8151db96173d9e01a784bd9fde962cd"],"secs":105,"stamp":"924e0f38adf3328186afc846c9bc5012","tree":"86aa869240bdd6b0a6e8f05f7d004b0a43b21491","v":1,"via":"run"}
Ci-Attestation: {"at":1791940501,"gate":"rust/aarch64-apple-darwin/clippy","host":"linux-x86_64","key":"f7572439b8e0920d90dd94fa27376cb42bb3f689d2e76c55fb1c593413ef85c8","lane":"cross","parents":["6cf8bf54e8151db96173d9e01a784bd9fde962cd"],"secs":105,"stamp":"f4e8bf4b7a62590f4d87c07880b08459","tree":"86aa869240bdd6b0a6e8f05f7d004b0a43b21491","v":1,"via":"run"}
Ci-Attestation: {"at":1791940501,"gate":"rust/aarch64-apple-darwin/dylint","host":"linux-x86_64","key":"f7572439b8e0920d90dd94fa27376cb42bb3f689d2e76c55fb1c593413ef85c8","lane":"cross","parents":["6cf8bf54e8151db96173d9e01a784bd9fde962cd"],"secs":105,"stamp":"009bee385cdd34b005e96caba34b777c","tree":"86aa869240bdd6b0a6e8f05f7d004b0a43b21491","v":1,"via":"run"}
Ci-Attestation: {"at":1791940501,"gate":"rust/x86_64-apple-darwin/clippy","host":"linux-x86_64","key":"f7572439b8e0920d90dd94fa27376cb42bb3f689d2e76c55fb1c593413ef85c8","lane":"cross","parents":["6cf8bf54e8151db96173d9e01a784bd9fde962cd"],"secs":105,"stamp":"8765fb66607f8b8a4f7ea6ce71db0c17","tree":"86aa869240bdd6b0a6e8f05f7d004b0a43b21491","v":1,"via":"run"}
Ci-Attestation: {"at":1791940501,"gate":"rust/x86_64-apple-darwin/dylint","host":"linux-x86_64","key":"f7572439b8e0920d90dd94fa27376cb42bb3f689d2e76c55fb1c593413ef85c8","lane":"cross","parents":["6cf8bf54e8151db96173d9e01a784bd9fde962cd"],"secs":105,"stamp":"f0c6cbd85f806603b193d6327495aeeb","tree":"86aa869240bdd6b0a6e8f05f7d004b0a43b21491","v":1,"via":"run"}
Ci-Attestation: {"at":1791940501,"gate":"cpp/linux-x64/tier2","host":"linux-x86_64","key":"a5e3025b8650e50807f6680d9851ce1a0f2a317f34d72585ffb022f3e004a0d6","lane":"tier2-linux","parents":["6cf8bf54e8151db96173d9e01a784bd9fde962cd"],"secs":119,"stamp":"68abe167e69b61930b685e02915a8115","tree":"86aa869240bdd6b0a6e8f05f7d004b0a43b21491","v":1,"via":"run"}
Actual Mac arm64/Intel RED checks in run38492393948 compiled and packaged, then PlistBuddy failed on /dev/stdin with Cannot parse a NULL or zero-length data. Preserve the volume-name assertion and revalidate the real artifacts on the next candidate.

Local-Gate: v1 tree=2555ce25ebeded16d4509a8c16a890105a8a17e8 secs=454 lanes=lint:run,rust-test:run,cross:run,tier2-linux:run
Ci-Attestation: {"at":1791942578,"gate":"rust/all/fmt","host":"linux-x86_64","key":"dfe430c2924f75409b7816dd9f0b74a2bd8170833a4fb77f395c92be7ae1406d","lane":"lint","parents":["1ca800202b056899bda089d678ed2a2c53da8ca0"],"secs":83,"stamp":"9aabe899bc5c650819201c2477b8b7d9","tree":"2555ce25ebeded16d4509a8c16a890105a8a17e8","v":1,"via":"run"}
Ci-Attestation: {"at":1791942578,"gate":"rust/x86_64-unknown-linux-gnu/clippy","host":"linux-x86_64","key":"dfe430c2924f75409b7816dd9f0b74a2bd8170833a4fb77f395c92be7ae1406d","lane":"lint","parents":["1ca800202b056899bda089d678ed2a2c53da8ca0"],"secs":83,"stamp":"4977bc775a495436ff56dfa3333764c6","tree":"2555ce25ebeded16d4509a8c16a890105a8a17e8","v":1,"via":"run"}
Ci-Attestation: {"at":1791942578,"gate":"rust/x86_64-unknown-linux-gnu/test","host":"linux-x86_64","key":"4937120de38e6ef8b239383823560684851580c3ad80542be1772ca37e384f01","lane":"rust-test","parents":["1ca800202b056899bda089d678ed2a2c53da8ca0"],"secs":162,"stamp":"66a46a0087e74e1ebc160e3917f7307f","tree":"2555ce25ebeded16d4509a8c16a890105a8a17e8","v":1,"via":"run"}
Ci-Attestation: {"at":1791942578,"gate":"rust/x86_64-pc-windows-msvc/clippy","host":"linux-x86_64","key":"9686c15753e53c111852eb41e6c1549fc6bf0a24eda8a28d953fe691c09e64b5","lane":"cross","parents":["1ca800202b056899bda089d678ed2a2c53da8ca0"],"secs":92,"stamp":"973ca33945ce98ae05740c9324908945","tree":"2555ce25ebeded16d4509a8c16a890105a8a17e8","v":1,"via":"run"}
Ci-Attestation: {"at":1791942578,"gate":"rust/x86_64-pc-windows-msvc/dylint","host":"linux-x86_64","key":"9686c15753e53c111852eb41e6c1549fc6bf0a24eda8a28d953fe691c09e64b5","lane":"cross","parents":["1ca800202b056899bda089d678ed2a2c53da8ca0"],"secs":92,"stamp":"5034c7fced35c52ceaa6ef7aa2975ad6","tree":"2555ce25ebeded16d4509a8c16a890105a8a17e8","v":1,"via":"run"}
Ci-Attestation: {"at":1791942578,"gate":"rust/aarch64-apple-darwin/clippy","host":"linux-x86_64","key":"9686c15753e53c111852eb41e6c1549fc6bf0a24eda8a28d953fe691c09e64b5","lane":"cross","parents":["1ca800202b056899bda089d678ed2a2c53da8ca0"],"secs":92,"stamp":"1e7aefbf0110dfd68ba01650a26b521d","tree":"2555ce25ebeded16d4509a8c16a890105a8a17e8","v":1,"via":"run"}
Ci-Attestation: {"at":1791942578,"gate":"rust/aarch64-apple-darwin/dylint","host":"linux-x86_64","key":"9686c15753e53c111852eb41e6c1549fc6bf0a24eda8a28d953fe691c09e64b5","lane":"cross","parents":["1ca800202b056899bda089d678ed2a2c53da8ca0"],"secs":92,"stamp":"385a75ff5d0e3e3a921f8ad21b8dae57","tree":"2555ce25ebeded16d4509a8c16a890105a8a17e8","v":1,"via":"run"}
Ci-Attestation: {"at":1791942578,"gate":"rust/x86_64-apple-darwin/clippy","host":"linux-x86_64","key":"9686c15753e53c111852eb41e6c1549fc6bf0a24eda8a28d953fe691c09e64b5","lane":"cross","parents":["1ca800202b056899bda089d678ed2a2c53da8ca0"],"secs":92,"stamp":"ff13ee517741538900eb9299dcd088e7","tree":"2555ce25ebeded16d4509a8c16a890105a8a17e8","v":1,"via":"run"}
Ci-Attestation: {"at":1791942578,"gate":"rust/x86_64-apple-darwin/dylint","host":"linux-x86_64","key":"9686c15753e53c111852eb41e6c1549fc6bf0a24eda8a28d953fe691c09e64b5","lane":"cross","parents":["1ca800202b056899bda089d678ed2a2c53da8ca0"],"secs":92,"stamp":"b89f9a7fde5ed8f013ab60da50455ef0","tree":"2555ce25ebeded16d4509a8c16a890105a8a17e8","v":1,"via":"run"}
Ci-Attestation: {"at":1791942578,"gate":"cpp/linux-x64/tier2","host":"linux-x86_64","key":"e5027f7950f3391391d6f64ef9104a1d8895f5ffd60a593e5649b67c8a97f073","lane":"tier2-linux","parents":["1ca800202b056899bda089d678ed2a2c53da8ca0"],"secs":117,"stamp":"f3ac0d8976cc86cf2e3fb3fd5013e540","tree":"2555ce25ebeded16d4509a8c16a890105a8a17e8","v":1,"via":"run"}
…ttern

Local-Gate: v1 tree=fd3951b26af263e3dbc8a968dd1598e81a884daf secs=397 lanes=lint:run,rust-test:run,cross:run,tier2-linux:run
Ci-Attestation: {"at":1791944038,"gate":"rust/all/fmt","host":"linux-x86_64","key":"5524b9b4e61e2c622d9dd68169d6b3882b98f87ebb40c0a9110c4698eafbf6d1","lane":"lint","parents":["db70a2bbcc21f40ae91132cb05752a3b6f891cd4"],"secs":79,"stamp":"5f1044b270b71ccb3781d60229746fc5","tree":"fd3951b26af263e3dbc8a968dd1598e81a884daf","v":1,"via":"run"}
Ci-Attestation: {"at":1791944038,"gate":"rust/x86_64-unknown-linux-gnu/clippy","host":"linux-x86_64","key":"5524b9b4e61e2c622d9dd68169d6b3882b98f87ebb40c0a9110c4698eafbf6d1","lane":"lint","parents":["db70a2bbcc21f40ae91132cb05752a3b6f891cd4"],"secs":79,"stamp":"ba29f9f2e281f6e8e1a3aad38471b9c1","tree":"fd3951b26af263e3dbc8a968dd1598e81a884daf","v":1,"via":"run"}
Ci-Attestation: {"at":1791944038,"gate":"rust/x86_64-unknown-linux-gnu/test","host":"linux-x86_64","key":"a0d61ba5a50d2f6e64a6cfed9d95def39bab8c9b8f68c0bf23278ec79c00aff6","lane":"rust-test","parents":["db70a2bbcc21f40ae91132cb05752a3b6f891cd4"],"secs":116,"stamp":"26b2b6c6683fa5964c702f818e3fb1a6","tree":"fd3951b26af263e3dbc8a968dd1598e81a884daf","v":1,"via":"run"}
Ci-Attestation: {"at":1791944038,"gate":"rust/x86_64-pc-windows-msvc/clippy","host":"linux-x86_64","key":"d3b90b1904c223639207484080e5cf6edef52cb71c563164636a2a41f69a3a0e","lane":"cross","parents":["db70a2bbcc21f40ae91132cb05752a3b6f891cd4"],"secs":88,"stamp":"b94fe2f188185c4b3a9e5c98d6847fa8","tree":"fd3951b26af263e3dbc8a968dd1598e81a884daf","v":1,"via":"run"}
Ci-Attestation: {"at":1791944038,"gate":"rust/x86_64-pc-windows-msvc/dylint","host":"linux-x86_64","key":"d3b90b1904c223639207484080e5cf6edef52cb71c563164636a2a41f69a3a0e","lane":"cross","parents":["db70a2bbcc21f40ae91132cb05752a3b6f891cd4"],"secs":88,"stamp":"d36e6582367edaf677e2e95edcc43b2f","tree":"fd3951b26af263e3dbc8a968dd1598e81a884daf","v":1,"via":"run"}
Ci-Attestation: {"at":1791944038,"gate":"rust/aarch64-apple-darwin/clippy","host":"linux-x86_64","key":"d3b90b1904c223639207484080e5cf6edef52cb71c563164636a2a41f69a3a0e","lane":"cross","parents":["db70a2bbcc21f40ae91132cb05752a3b6f891cd4"],"secs":88,"stamp":"b9c931a445d81fc2addabf78a3b4a89d","tree":"fd3951b26af263e3dbc8a968dd1598e81a884daf","v":1,"via":"run"}
Ci-Attestation: {"at":1791944038,"gate":"rust/aarch64-apple-darwin/dylint","host":"linux-x86_64","key":"d3b90b1904c223639207484080e5cf6edef52cb71c563164636a2a41f69a3a0e","lane":"cross","parents":["db70a2bbcc21f40ae91132cb05752a3b6f891cd4"],"secs":88,"stamp":"d7694463c5464ea728254f1498bbd6d5","tree":"fd3951b26af263e3dbc8a968dd1598e81a884daf","v":1,"via":"run"}
Ci-Attestation: {"at":1791944038,"gate":"rust/x86_64-apple-darwin/clippy","host":"linux-x86_64","key":"d3b90b1904c223639207484080e5cf6edef52cb71c563164636a2a41f69a3a0e","lane":"cross","parents":["db70a2bbcc21f40ae91132cb05752a3b6f891cd4"],"secs":88,"stamp":"3ea1c2d38f3ba35cc15e85833cb42f53","tree":"fd3951b26af263e3dbc8a968dd1598e81a884daf","v":1,"via":"run"}
Ci-Attestation: {"at":1791944038,"gate":"rust/x86_64-apple-darwin/dylint","host":"linux-x86_64","key":"d3b90b1904c223639207484080e5cf6edef52cb71c563164636a2a41f69a3a0e","lane":"cross","parents":["db70a2bbcc21f40ae91132cb05752a3b6f891cd4"],"secs":88,"stamp":"fc038c25e8c2e6fb88994f2c6457ca20","tree":"fd3951b26af263e3dbc8a968dd1598e81a884daf","v":1,"via":"run"}
Ci-Attestation: {"at":1791944038,"gate":"cpp/linux-x64/tier2","host":"linux-x86_64","key":"fa7e0b53201df6186caff27d950cdfd6c7ca8cf674693c0dfb66bc8c9c585f1c","lane":"tier2-linux","parents":["db70a2bbcc21f40ae91132cb05752a3b6f891cd4"],"secs":114,"stamp":"4e0adcacf498cb8f1a4e7ffeb3a70500","tree":"fd3951b26af263e3dbc8a968dd1598e81a884daf","v":1,"via":"run"}
@zackees
zackees force-pushed the fix/629-windows-arm64 branch from 99ce02d to 737edb6 Compare October 14, 2026 02:14
@zackees

zackees commented Oct 14, 2026

Copy link
Copy Markdown
Member Author

Replaced head 99ce02d with stamped 737edb6 after rebasing onto master 0a50b7c (#666/#654). The overlap preserves the real-tested argument array, static ARM cross checks plus native runtime version checks, and the regular-file DMG reader. The new pattern test caught only the explanatory comment; rewording it gives focused RED 1 → GREEN 12 without changing the command.

Fresh ./lint, ./unittest and all four attestation lanes pass (397 seconds, tree fd3951b26af2). The complete CI Python suite passes 145 tests with one environment skip; review is clean. The older immutable native run 38497908870 remains live; both macOS collection jobs passed and Apple Silicon printed the correct Rust beta version. Those results are historical evidence, not validation of this rebased head. Native Windows startup and new-head package verification remain required; this stays draft.

@zackees
zackees merged commit 4e3eaf8 into master Oct 14, 2026
57 checks passed
@zackees
zackees deleted the fix/629-windows-arm64 branch October 14, 2026 03:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

release: Ship a Windows arm64 build

1 participant