Skip to content

Windows native examples: local and hosted evidence

Pre-release
Pre-release

Choose a tag to compare

Windows CI execution and canonical native example builds

Draft PR #160 makes the Windows Bash CI commands execute, restores MSVC's linker ahead of Git's similarly named utility, requires execution summaries, and corrects six canonical examples to use the runtime Colors palette. Draft PR #161 requires actual native compile/link outputs for the entire inventory, with a fresh output, size, SHA-256, command, and logs for each example.

Verified results

  • At engine source 59244b92f592a603a565140ef401ed364f351b8c, the exact local full CI component links all 20 examples in 87.703 seconds. The quick component links Pong in 4.703 seconds. These durations are build observations, not performance budgets.
  • Hosted Tests run 34544031931 passes the native engine build and all 20 example links. The example report records 194.778 seconds. GitHub checks out merge commit 962f8b41cf7f0d4119ce95b83551b1d420e20e13; its tree 2e7b263f8addbc142d47539a842112e357ba3dd9 is identical to the PR head's tree. Both commit receipts are retained.
  • The hosted example toolchain is Perry 0.5.1220, official compiler SHA-256 43087b967506f9eefee3af69e72d9684e6254068ea1a1d73cbdbe6f15070122a, with libraries rebuilt from the unchanged pinned source 06137858dc8c6f80975238377138f2f948d6ef88. The setup verifies the official release ZIP and source identity, builds with the release Cargo lockfile, and records runtime library hashes.
  • All examples use one unwind runtime profile: perry-runtime/full,perry-runtime/regex-engine,perry-stdlib/async-runtime,perry-stdlib/crypto, with PERRY_NO_AUTO_OPTIMIZE=1. No Perry source patch is applied.
  • Three orchestration regressions reject false compiler success and retain later results after linker failures/timeouts. Repository contracts and the full quality-contract component pass locally.

Failures retained

The initial 0.5.1182 audit links 13/20 examples. Six palette corrections raise that to 19/20, but the embedded-view native API is missing from that release. The 0.5.1219/1220 distributed full libraries have unresolved HTTP-extension symbols. Rebuilding the matching source supplies those symbols, but the automatic per-app panic-abort profiles produce Rust COMDAT link collisions in five examples (15/20 pass). The common unwind profile resolves all five. Earlier failing outputs remain in this archive.

The first executed hosted Windows run also finds Git Bash's link.exe ahead of MSVC. PR #160 fixes that PATH ordering; its following native build passes.

Windows shared tests are still a required failure. At PR #161, 486 lib tests pass, two DX12 GPU tests fail, and one is ignored; Cargo exits 101. The failed tests are renderer::visibility_buffer::tests::gpu_raster_ids_faces_and_reconstruction_match_the_cpu_oracle (pipeline creation, 0x80070057) and virtual_geometry::tests::gpu_virtual_draw_commands_execute_with_exact_first_instance_values (wrong draw identity). Both reproduce locally on Radeon DX12 and the Microsoft software adapter, while Vulkan passes. Investigation is separate from these example fixes.

The earlier PR #160 shared run crashes with STATUS_ACCESS_VIOLATION after exposing the same two failures. The later complete run does not establish a crash fix. Golden integration tests after the failing lib suite do not execute. Linux/macOS shared tests and the other 21 Tests jobs pass in the PR #161 run.

Scope and evidence

Native linking does not qualify executable startup, rendered frames, or clean installed-package behavior. These remain next steps under #140/#142/#74/#145. No named RTX 4080 or other unavailable hardware qualification is claimed, and no PR is merged.

The archive includes commands, build and CI logs, failed profiles, successful per-example hashes, source/toolchain receipts, and repository reports. payload-sha256.json hashes every included payload. It excludes executable binaries, runtime libraries, external model/texture assets, Git object stores, and directory junction targets. Compiler/runtime distributions remain available from their upstream release/source references.