Rust toolkit for working with Windows AppContainer and LPAC process boundaries.
Project documentation is in docs/.
Start here: docs/index.md
This repository uses a GitLab tag-driven release flow. Publish payload is controlled by a manifest include allow-list:
LICENSEREADME.mdCargo.tomlCHANGELOG.mdSECURITY.mddocs/releases/0.14.0-migration.mdsrc/**examples/**tests/**
The release chain is:
just prepare-release-dry-run X.Y.Zpreviews the release baseline without changing Git or files.just prepare-release X.Y.Zupdates onlyCargo.toml,Cargo.lock, andCHANGELOG.mdfor review on a topic branch.- After that change is merged and the exact
mainpipeline is green,just create-release-tag X.Y.Zcreates a verified localvX.Y.Ztag. Pushing that tag is a separate explicit operation. just api-compatverifies the reviewed 0.13.3-to-0.14.0 API break classes with pinnedcargo-semver-checks0.49.0.just release-surfacerejects production test hooks and compiles a downstream all-features consumer.- Branch and merge-request GitLab pipelines run blocking Debian, macOS, and Windows checks on explicit unprotected runner boundaries. The Windows matrix covers stable plus supported MSRV toolchains across every feature combination; beta and nightly are advisory.
- GitLab is the sole CI/CD execution provider. GitLab jobs run Clippy, cargo-deny, cargo-audit, duplicate-dependency policy, and deterministic SBOM generation; the GitHub repository contains no hosted CI workflows or dependency bots.
- A protected GitLab tag pipeline runs
just ci-deepon the Windows protected runner boundary, verifies release version freshness, packages the crate, emits crate checksums and Cargo metadata as release evidence, publishes to crates.io, and creates or updates matching GitLab and GitHub releases. just release-version-checkverifies crate version is greater than the published crate on crates.io.just release-gateruns API, downstream-consumer, quality, security, docs, packaging, and dry-run checks on a clean working tree.just release-gate-logremains available for a local transcript before manual release intervention.just releaseremains as a guarded local fallback and prompts for explicit publish confirmation.
Do not run cargo publish directly outside the GitLab tag pipeline or guarded local fallback.