Skip to content

feat(ci): add dispatchable unsigned desktop build-artifacts workflow#2864

Open
harshitsinghbhandari wants to merge 4 commits into
mainfrom
ao/agent-orchestrator-105/build-artifacts
Open

feat(ci): add dispatchable unsigned desktop build-artifacts workflow#2864
harshitsinghbhandari wants to merge 4 commits into
mainfrom
ao/agent-orchestrator-105/build-artifacts

Conversation

@harshitsinghbhandari

@harshitsinghbhandari harshitsinghbhandari commented Jul 20, 2026

Copy link
Copy Markdown
Collaborator

Summary

Adds .github/workflows/build-artifacts.yml, a workflow_dispatch-only workflow that lets an external release conductor drive a desktop build and consume the outputs as run artifacts:

  • Inputs: ref (git ref/SHA to build, checked out via actions/checkout ref:) and version (stamped into frontend/package.json using the exact nightly stamping mechanism from frontend-nightly.yml).
  • Platform matrix matching the existing release workflows: mac arm64 (macos-latest), mac x64 (macos-15-intel), windows (windows-latest), linux (ubuntu-latest).
  • macOS builds are intentionally UNSIGNED: the workflow never invokes macos-signing-setup and sets no Apple env vars, and forge.config.ts only activates osxSign/osxNotarize when those vars are present. The conductor signs downstream.
  • Pinned artifact contract (per the release conductor): upload-artifact names mac-arm64, mac-x64, win, linux, each containing the existing stable alias filename (agent-orchestrator-darwin-arm64.zip, agent-orchestrator-darwin-x64.zip, agent-orchestrator-win32-x64.exe, agent-orchestrator-linux-x64.AppImage), uploaded with retention-days: 1.
  • A digests artifact contains digests.json, a flat JSON object mapping each of those four filenames to its sha256 hex string; the conductor reads it to verify hashes before signing. Digests are also echoed to the step summary.
  • Creates no release and references no secrets; permissions: contents: read only.

Strictly additive: no existing workflow, signing, or release path is touched.

Verification

Closes #2862

🤖 Generated with Claude Code

harshitsinghbhandari and others added 3 commits July 21, 2026 01:37
Adds a workflow_dispatch-only workflow that builds the desktop app for
all four platforms at a pinned ref with a caller-supplied version,
uploads each installer as a 1-day run artifact, and emits a digests.json
artifact with per-platform SHA256 hashes. No release, no secrets, and
macOS builds are intentionally unsigned (the release conductor signs
downstream).

Closes #2862

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
… map)

Artifact names are now mac-arm64, mac-x64, win, linux (contained
filenames keep the stable alias names), and digests.json is a flat
filename to sha256 map, per the release conductor contract.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add dispatchable unsigned-artifact desktop build workflow (conductor handoff)

1 participant