Skip to content

Slow macOS Intel build times in CI #90

Open

Description

@DoodlesEpic

The macos-15-intel matrix job in .github/workflows/build.yml takes significantly longer than all other platform builds, taking 16m44s on cold/updated runs and serving as the primary bottleneck for CI completion.

Comparison across recent runs

Job Cold run (PR #89) Warm cache (dev)
macOS ARM64 (macos-latest) 3m46s 2m56s
Windows (windows-latest) 8m46s 4m02s
Performance benchmark 7m35s 3m57s
Linux (ubuntu-22.04) 8m46s ~8m (packaging + smoke tests)
macOS Intel (macos-15-intel) 16m44s ~9–16m

The slowness stems from macos-15-intel running on virtualized x86 hardware with lower IPC and fewer vCPUs than Apple Silicon runners, combined with release-mode Rust compilation and DMG disk image creation (hdiutil).

Potential solutions

  • Cross-compile the x86_64-apple-darwin target directly on the faster Apple Silicon (macos-latest) runner with rustup target add x86_64-apple-darwin.
  • Package a universal binary on macos-latest using tauri build --target universal-apple-darwin.
  • Cache or streamline DMG generation for ordinary non-release CI runs if feasible.

Activity

  1. self-assigned this
    on Oct 7, 2026
  2. added
    enhancementNew feature or request
    bugSomething isn't working
    questionFurther information is requested
    on Oct 7, 2026
  3. DoodlesEpic commented on Oct 7, 2026

    @DoodlesEpic
    OwnerAuthor

    Historical Context

    In commit 216b224, both aarch64-apple-darwin and x86_64-apple-darwin were built on macos-latest (Apple Silicon) via Rust cross-compilation (targets: aarch64-apple-darwin,x86_64-apple-darwin).

    Commit f2813d1 separated the targets, moving x86_64-apple-darwin to macos-15-intel. As noted in docs/releases/v2.0.0.md, the intent was to ensure each architecture built on its respective runner and produced dedicated download assets.

    Universal Binary Trade-offs

    Switching to universal-apple-darwin built on macos-latest would resolve the Intel runner bottleneck, with the following considerations:

    • Pros: Runs on fast Apple Silicon runners in ~3 minutes; users download a single .dmg without needing to pick between Intel and Apple Silicon.
    • Cons: Binary and DMG sizes are larger because the executable bundles both x86_64 and ARM64 Mach-O slices.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingenhancementNew feature or requestquestionFurther information is requested

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions