Summary
Add a manual GitHub Actions workflow that can build release artifacts for any selected combination of Linux, Windows, and macOS, while keeping build, signing, and publication as separate protected stages.
Scope
- Refactor existing reusable build workflows into side-effect-free platform builders.
- Reuse dependency caches and current packaging logic.
- Support selectable targets through
workflow_dispatch inputs:
- Ubuntu 24.04 AppImage;
- Windows Server 2022 NSIS installer and portable archive;
- macOS 14 universal DMG.
- Allow a branch, tag, or commit SHA to be selected as the source ref.
- Optionally run the full automated test suite before packaging.
- Upload artifacts and checksums without publishing by default.
- Support explicit publication modes: artifacts only, draft release, prerelease, and production release.
- Restrict signing, notarization, and release credentials to protected environments.
- Preserve unsigned fork/QA builds when signing credentials are unavailable.
- Separate release publication from expensive platform compilation so failed publication does not require rebuilding.
Proposed workflow structure
.github/workflows/build_platform.yml
.github/workflows/release_manual.yml
.github/workflows/publish_release.yml
.github/workflows/release_tag.yml # optional later
Recommended manual inputs
source_ref
build_linux
build_windows
build_macos
run_full_tests
sign_artifacts
publish_mode
version_label
Acceptance criteria
Dependencies
Design reference
Summary
Add a manual GitHub Actions workflow that can build release artifacts for any selected combination of Linux, Windows, and macOS, while keeping build, signing, and publication as separate protected stages.
Scope
workflow_dispatchinputs:Proposed workflow structure
Recommended manual inputs
Acceptance criteria
artifacts-onlymode never creates or updates a GitHub release.Dependencies
build_check_cache.yml,build_deps.yml, andbuild_orca.ymllogic after refactoring side effects out of the builder.Design reference
doc/ci_cd_strategy.md