Repository navigation
Conversation
…tests The test matrix gains windows-latest so every PR builds and tests the Windows code paths on stable MSVC. The binary is smoke-tested with 'incant.exe --version' from both pwsh and CMD before the suite runs, so version parity with local VM checks holds even while the daemon integration tests are being made cross-platform. A dedicated 'clippy (windows-latest)' job lints cfg(windows) code without renaming the existing required 'clippy' context, and workflow_dispatch allows manual reruns against VM findings.
Adds the Windows MSVC target to the release matrix. The release binary is smoke-tested from both pwsh and CMD, then packaged with pwsh-native commands into a zip containing incant.exe, README, LICENSE, CHANGELOG, SECURITY.md, and the example config. The checksum is emitted as a shasum-compatible line (lowercase hash, two spaces, bare file name, LF) so the Linux publish job aggregates all *.sha256 files into SHA256SUMS unchanged. Unix tarballs and their packaging are untouched.
Cross-compiles the ARM64 Windows binary on the x64 windows-latest
runner and packages it identically to the x86_64 zip
(incant-{version}-{target}.zip, shasum-compatible .sha256 line).
The pwsh/CMD smoke steps stay x86_64-only because the hosted runner
cannot execute ARM64 binaries; the native ARM64 smoke test runs in the
Windows 11 ARM VM before the release is cut.
A standalone windows-latest job installs the ARM64 MSVC target on stable Rust and runs a locked debug build, surfacing missing linker/SDK/target-lib setup on the x64 runner in every PR instead of at tag time. Same SHA pins, unpersisted credentials, and read-only permissions as the rest of the workflow.
Dedicated pester (windows-latest) job executes tests/install.Tests.ps1 with Pester 5 from the runner image. A missing or too-old Pester module, zero discovered tests, or any failing test aborts the job; no module is ever installed from the gallery as an unpinned fallback. The suite lands with the installer branch, so the job stays red until that merge, matching the dependency already accepted for the Windows test lane.
The publish job now runs 'shasum -a 256 --check --strict' against the
aggregated SHA256SUMS while the archives are still in dist, so
corruption or tampering between build and publish fails the release
instead of shipping, and the Windows-emitted checksum lines are proven
shasum-parseable. Version stripping in the Windows package step now
uses -creplace to match bash's case-sensitive ${GITHUB_REF_NAME#v}.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
windows-11-arminstall.ps1, exact SHA-256 checksums, and substantive CycloneDX/SPDX JSON SBOMs from cargo-auditable binariescontents: writeto publication, promotion, and rollback jobs, with thereleaseenvironment guarding first public exposure and final promotionRelease matrix
x86_64-unknown-linux-gnuubuntu-latestaarch64-unknown-linux-gnuubuntu-24.04-armx86_64-apple-darwinmacos-15-intelaarch64-apple-darwinmacos-latestx86_64-pc-windows-msvcwindows-latestaarch64-pc-windows-msvcwindows-11-armVerification
actionlint .github/workflows/ci.yml .github/workflows/release.ymlcargo +1.97.1 test --locked --all-targets— 107 passedcargo +1.88.0 test --locked --all-targets— 107 passedtests/install.Tests.ps1— 16 passed locally; hosted Windows proof is tracked by the PR checksRelated to #34. Does not close #34; the issue remains open until a real v0.3.0 release exercises the hosted release path.