diff --git a/.github/workflows/quest.yml b/.github/workflows/quest.yml index ce282e9b47b..6118d649ddb 100644 --- a/.github/workflows/quest.yml +++ b/.github/workflows/quest.yml @@ -47,12 +47,16 @@ jobs: - uses: DeterminateSystems/nix-installer-action@1d87d45818068401a10cf16bdc5f00b24994a83f # main with: determinate: false - # Trust the flake's cachix substituter, which holds the dev shell; - # see check.yml. + # Trust the flake's cachix substituter, which holds the quest build + # as part of the dev shell closure; see check.yml. extra-conf: | extra-substituters = https://kixelated.cachix.org extra-trusted-public-keys = kixelated.cachix.org-1:CmFcV0lyM6KuVM2m9mih0q4SrAa0XyCsiM7GHrz3KKk= # The whole tree, unscoped: a push has no base to diff against. + # + # Only the quest package, not `nix develop`: the dev shell compiles + # uniffi-bindgen-go from source whenever cache.yml hasn't pushed it for + # this flake.lock yet, which ran past the timeout. - name: Check - run: nix develop --command quest check + run: nix run .#quest -- check diff --git a/flake.nix b/flake.nix index 1d10877644e..c537b778b20 100644 --- a/flake.nix +++ b/flake.nix @@ -427,6 +427,8 @@ # Apply our overlay to get the package definitions overlayPkgs = pkgs.extend self.overlays.default; + + quest-cli = quest.packages.${system}.default; in { packages = (rec { @@ -460,6 +462,10 @@ inherit uniffi-bindgen-dart; + # The quest CLI alone, so quest.yml can validate the tree without + # realising the whole dev shell. + quest = quest-cli; + # Bundle of packaging + repo-publish tooling, pinned via flake.lock. # CI builds this and prepends its bin/ to $PATH so subsequent steps # use the same versions a local `nix develop` user would. @@ -504,7 +510,7 @@ ++ goDeps ++ dartDeps ++ devTools - ++ [ quest.packages.${system}.default ]; + ++ [ quest-cli ]; # jemalloc's configure uses -O0 test builds, which conflict with # Nix's _FORTIFY_SOURCE hardening (requires -O).