codex-barbar releases are built on native Windows 11 x64 and published as GitHub Release assets. Nothing is pushed or published without explicit user authorization.
Every release produces exactly these files:
codex-barbar_<version>_x64-setup.exe NSIS per-user installer
codex-barbar_<version>_x64-portable.zip Portable ZIP (same exe + docs)
SHA256SUMS.txt Hashes for setup and ZIP
codex-barbar_<version>_sbom.spdx.json Deterministic SPDX 2.3 SBOM
artifact-manifest.json Version, commit, sizes, hashes
Binaries are unsigned until an Authenticode certificate is supplied; SmartScreen warnings are expected.
-
Ensure all product manifests match the version:
rust/Cargo.toml,apps/desktop-tauri/src-tauri/Cargo.toml,apps/desktop-tauri/package.json, andapps/desktop-tauri/src-tauri/tauri.conf.json. -
Commit and tag:
git tag -a v<version> -m "codex-barbar <version>". -
Build and verify from a clean worktree:
.\scripts\windows-release-build.ps1 -Ref v<version> -Version <version> -OutputDirectory .\artifacts\release .\scripts\verify-release-artifacts.ps1 -Version <version> -AssetsDirectory .\artifacts\release .\scripts\release-doctor.ps1 -Version <version> -AssetsDirectory .\artifacts\release
-
Run the installer and portable smoke tests on a clean machine (or a dedicated VM), then record evidence in
docs/WINDOWS_ACCEPTANCE.md.
The build script refuses to run on a dirty worktree or when -Ref does not
resolve to HEAD. -AllowDirty exists only for development.
.github/workflows/release.yml repeats every PR gate, runs the release
build, verifies artifacts, and uploads them as an Actions artifact. A draft
GitHub Release is created only when publish_draft is true on
workflow_dispatch or when triggered by a v* tag; it uses only the
repository GITHUB_TOKEN.
Before a public release, the workflow queries enabled Dependabot alerts and fails on open high/critical findings. If Dependabot/security-events read access is not enabled, the release job fails with a clear external-gate message. This is not a RustSec audit claim; RustSec tooling is not installed without explicit approval.
- Distribution through the Windows package manager is a separate, manual step outside the release workflow. Every version needs its own immutable manifest folder with matching installer URL and SHA-256.
- Do not push, create a GitHub Release, or contact upstream repositories without explicit user authorization.