ADR 0191: Label Both macOS Release Architectures
- Status: Accepted (amended by D450 / ADR 0289)
- Date: 2026-09-09
- Deciders: PI-Desktop core
- Related: D126, D285, D353, D354, D450, ADR 0145, ADR 0289, E2E-092
Context
D353 added an explicit Intel marker to the native macOS x64 artifacts but left Apple Silicon artifacts with electron-builder's generic version-only name. A file such as PI-Desktop-0.14.4.dmg therefore still does not reveal whether it contains arm64 or x64 code, which is ambiguous when both downloads are listed in the same GitHub Release.
Decision
- Both native macOS release lanes pass target-specific artifact patterns to electron-builder.
- The arm64 lane publishes
PI-Desktop-<version>-arm64.dmgandPI-Desktop-<version>-arm64-mac.zip. - The Intel x64 lane publishes
PI-Desktop-<version>-x64.dmgandPI-Desktop-<version>-x64-mac.zip. - The convention applies to unsigned and signed macOS workflow paths. The generated per-architecture updater feeds retain these final asset URLs and checksums before the publish job merges them.
- This changes release asset naming only. Signing policy and in-app macOS delivery are recorded in D450 / ADR 0289.
Consequences
- Users can identify the required macOS installer from its filename alone.
- DMG and ZIP names are consistent with the release matrix's
arm64andx64values instead of using a specialIntellabel for only one lane. - Existing generic arm64 and
-Intelx64 asset names are not reused by future releases; the naming change is intentionally scoped to release artifacts.
Alternatives considered
- Keep the arm64 name generic: rejected because it leaves one of the two architectures ambiguous.
- Use
Intelfor x64 andApple-Siliconfor arm64: rejected because the release matrix and Electron target use standard architecture identifiers, which are shorter and easier to match to the actual package contents.
Amendment (D450 / ADR 0289)
Architecture-labelled ZIP names remain the in-app updater payloads. Official tag artifacts are signed and notarized; the -arm64 / -x64 convention is unchanged.