Skip to content

Build and Release

Yash Aryan edited this page Aug 8, 2026 · 1 revision

Build and Release

Local package

cd app
bun run build    # env → tsc main → tsc renderer → assets
bun run dist     # electron-builder → app/release/

Targets (electron-builder): macOS dmg/zip (arm64/x64), Windows NSIS, Linux AppImage. Chroma ships in extraResources; some modules asarUnpack.

Version discipline

  1. Bump app/package.json version
  2. Tag vX.Y.Z exactly matching that version
  3. Optionally add docs/releases/vX.Y.Z.md (site/release notes)
  4. Push tag → .github/workflows/release.yml → reusable build.yml
  5. GitHub Release assets + latest*.yml for electron-updater
  6. web/ download page reads assets via GitHub API

Publish repo: workvar/AnyLM.

Signing

Unsigned builds are common without CI secrets. macOS may need Open Anyway on first launch. Configure CSC_* / APPLE_* / Windows certs in CI only (root .env.example).

Auto-update

updater/ + electron-updater consumes release feeds when enabled. Existing installs pick up new latest*.yml from the GitHub Release.

Web deploy

Separate from Electron; follow web/README.md. Ensure NEXT_PUBLIC_GITHUB_* points at the releases repo.

Contributor checklist for a release PR

  • Version bump aligned with notes
  • bun test + typecheck green
  • Manual smoke on your platform
  • Release notes file if you want polished /releases copy
  • No secrets in app/.env changes

Clone this wiki locally