[PR #11495] fix(nix): restore native runners for darwin hash computation #13812

Closed
opened 2026-02-16 18:18:38 -05:00 by yindo · 0 comments
Owner

Original Pull Request: https://github.com/anomalyco/opencode/pull/11495

State: closed
Merged: Yes


Summary

  • Restores native runners for each platform to fix darwin hash mismatches
  • Simplifies flake.nix by removing cross-compilation matrix

Problem

PR #9309 simplified CI by using cross-compilation flags (bun install --cpu=X --os=Y) on a single Linux runner. However, bun install with these flags on Linux does not produce byte-identical output to native bun install on macOS, causing hash mismatches when building the nix package on darwin systems.

Solution

Restore native runners for each platform in the nix-hashes.yml workflow:

Platform Runner
linux-x64 blacksmith-4vcpu-ubuntu-2404
linux-arm64 blacksmith-4vcpu-ubuntu-2404-arm
darwin-x64 macos-15-intel
darwin-arm64 macos-latest

The workflow now uses a matrix strategy with two jobs:

  1. compute-hash: Runs natively on each platform and uploads the hash as an artifact
  2. update-hashes: Aggregates all hashes and updates nix/hashes.json

Also simplified flake.nix by replacing the complex cross-compilation moduleUpdaters matrix with a single node_modules_updater per system.

Fixes #11491
Fixes #11408

**Original Pull Request:** https://github.com/anomalyco/opencode/pull/11495 **State:** closed **Merged:** Yes --- ## Summary - Restores native runners for each platform to fix darwin hash mismatches - Simplifies flake.nix by removing cross-compilation matrix ## Problem PR #9309 simplified CI by using cross-compilation flags (`bun install --cpu=X --os=Y`) on a single Linux runner. However, `bun install` with these flags on Linux does not produce byte-identical output to native `bun install` on macOS, causing hash mismatches when building the nix package on darwin systems. ## Solution Restore native runners for each platform in the `nix-hashes.yml` workflow: | Platform | Runner | |----------|--------| | linux-x64 | `blacksmith-4vcpu-ubuntu-2404` | | linux-arm64 | `blacksmith-4vcpu-ubuntu-2404-arm` | | darwin-x64 | `macos-15-intel` | | darwin-arm64 | `macos-latest` | The workflow now uses a matrix strategy with two jobs: 1. `compute-hash`: Runs natively on each platform and uploads the hash as an artifact 2. `update-hashes`: Aggregates all hashes and updates `nix/hashes.json` Also simplified `flake.nix` by replacing the complex cross-compilation `moduleUpdaters` matrix with a single `node_modules_updater` per system. Fixes #11491 Fixes #11408
yindo added the pull-request label 2026-02-16 18:18:38 -05:00
yindo closed this issue 2026-02-16 18:18:38 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: anomalyco/opencode#13812