ci: simplify nix hash updates (#9309)

This commit is contained in:
Caleb Norton
2026-01-18 21:46:00 -06:00
committed by GitHub
parent d939a3ad54
commit 2fc4ab9687
4 changed files with 141 additions and 224 deletions

View File

@@ -33,17 +33,37 @@
packages = forEachSystem (
pkgs:
let
opencode = pkgs.callPackage ./nix/opencode.nix {
node_modules = pkgs.callPackage ./nix/node_modules.nix {
inherit rev;
};
opencode = pkgs.callPackage ./nix/opencode.nix {
inherit node_modules;
};
desktop = pkgs.callPackage ./nix/desktop.nix {
inherit opencode;
};
# nixpkgs cpu naming to bun cpu naming
cpuMap = { x86_64 = "x64"; aarch64 = "arm64"; };
# matrix of node_modules builds - these will always fail due to fakeHash usage
# but allow computation of the correct hash from any build machine for any cpu/os
# see the update-nix-hashes workflow for usage
moduleUpdaters = pkgs.lib.listToAttrs (
pkgs.lib.concatMap (cpu:
map (os: {
name = "${cpu}_${os}_node_modules";
value = node_modules.override {
bunCpu = cpuMap.${cpu};
bunOs = os;
hash = pkgs.lib.fakeHash;
};
}) [ "linux" "darwin" ]
) [ "x86_64" "aarch64" ]
);
in
{
default = opencode;
inherit opencode desktop;
}
} // moduleUpdaters
);
};
}