agent-orchestrator/.github/workflows
Harshit Singh Bhandari 5fa53ad976
feat: electron-updater feed publishing + macOS signing (#2220) (#2226)
* docs(spec): feed-publishing + macOS signing design (#2220)

Design for the electron-updater feed-publishing workstream plus the macOS
code-signing half of Track B, shipped as one PR so a single review unblocks
auto-update. Sidecar-only post-matrix join job emits latest*.yml / nightly*.yml
+ .blockmap sidecars on all three platforms (no maker changes, no artifact
mutation). macOS signing reproduces the proven local runbook in CI: keychain
provisioning, hardened-runtime entitlements, and notarization via the App Store
Connect API key (.p8) path, with the osxNotarize cast fixed.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* docs(plan): feed-publishing + macOS signing implementation plan (#2220)

Six TDD tasks: blockmap wrapper, feed module (selection + yml), osxNotarize
API-key rewire, macOS signing-setup composite action, and the two workflow
wirings (latest + nightly feed jobs). Two evidence-based simplifications vs the
spec: no custom entitlements plist (default osxSign entitlements are proven by
the local runbook) and no Node bump (CI already below the crash ceiling).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* feat(feed): blockmap sidecar wrapper over app-builder-lib

Adds frontend/scripts/blockmap.mjs isolating the single fragile internal
import (app-builder-lib/out/targets/blockmap/blockmap.js) behind a thin
writeBlockmap(filePath) wrapper. Returns { sha512, size } only, omitting
blockMapSize to force the sidecar differential path in electron-updater.

Test added with // @vitest-environment node directive (required: project
vitest config defaults to jsdom; same pattern as nightly-version.test.mjs).
TDD: red on missing module, green after implementation.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* feat(feed): installer selection + electron-updater yml assembly

Implement selectInstallers, feedFilename, and buildYml pure functions
for packaging versioned installers and generating platform-specific
feed metadata. Excludes ao-start aliases and deb/rpm packages.
Generates blockmap sidecars and yml with deprecated top-level
path/sha512 for compatibility, no blockMapSize (forces sidecar diff).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* feat(sign): notarize via App Store Connect API key; drop osxNotarize cast

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* feat(ci): macOS signing-setup composite action

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* feat(ci): sign macOS + publish latest feed in the release workflow

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* feat(ci): sign macOS + publish nightly feed in the nightly workflow

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* chore: format with prettier [skip ci]

---------

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-06-27 18:10:20 +05:30
..
cli-e2e.yml test(cli): port the E2E suite to cross-platform Go; slim the Docker harness 2026-06-01 03:14:08 +05:30
desktop-testing.yml fix(desktop): package Windows via NSIS instead of Squirrel (#403) 2026-06-23 20:44:30 +05:30
frontend-nightly.yml feat: electron-updater feed publishing + macOS signing (#2220) (#2226) 2026-06-27 18:10:20 +05:30
frontend-release.yml feat: electron-updater feed publishing + macOS signing (#2220) (#2226) 2026-06-27 18:10:20 +05:30
frontend.yml ci: run the frontend vitest suite on pull requests (#172) 2026-06-11 12:18:55 +05:30
gitleaks.yml ci: add Go build/test and gitleaks secret-scan workflows 2026-05-26 21:02:58 +05:30
go.yml feat: automate OpenAPI spec + frontend TS type generation (issue #102) (#103) 2026-06-05 14:45:10 +05:30
prettier.yml chore: add prettier config and CI auto-formatter (#166) 2026-06-10 09:09:17 +05:30
react-doctor.yml ci(frontend): add react-doctor check for landing site (#151) 2026-06-07 07:11:35 +05:30
testing-build.yml fix(desktop): package Windows via NSIS instead of Squirrel (#403) 2026-06-23 20:44:30 +05:30