diff --git a/.github/workflows/nix-build.yml b/.github/workflows/nix-build.yml index 22c5e41..05a7b72 100644 --- a/.github/workflows/nix-build.yml +++ b/.github/workflows/nix-build.yml @@ -24,7 +24,7 @@ permissions: jobs: check: runs-on: ubuntu-latest - timeout-minutes: 25 + timeout-minutes: 45 steps: - uses: actions/checkout@v4 diff --git a/flake.nix b/flake.nix index 27e79bf..3eabb81 100644 --- a/flake.nix +++ b/flake.nix @@ -49,6 +49,20 @@ bunNix = ./bun.nix; }; + # bun2nix defaults to isolated installs on Linux, which can be + # very slow in CI for larger dependency trees and may appear stuck. + # Use hoisted linker and fail fast on lockfile drift. + bunInstallFlags = if pkgs.stdenv.hostPlatform.isDarwin then [ + "--linker=hoisted" + "--backend=copyfile" + "--frozen-lockfile" + "--no-progress" + ] else [ + "--linker=hoisted" + "--frozen-lockfile" + "--no-progress" + ]; + # Let the bun2nix hook handle dependency installation via the # pre-fetched cache, but skip its default build/check/install # phases since we have custom ones.