From 700f43c2cbb2c39ca406511088ef52d1d09a19c3 Mon Sep 17 00:00:00 2001 From: Pierre Bourdon Date: Tue, 20 Jan 2026 11:07:56 +0100 Subject: [PATCH] ci-config: explicitly build all outputs in `nix build` invocation Without this, even though all outputs will still be built, only the main output (usually $out) store path gets printed by --print-out-paths. In turn, this means that only the main output will get sent to attic for caching. In Lix's case, this was causing the following scenarios: - builder1 builds build.aarch64-darwin.{out,dev,doc} - builder1 only pushes .out to the caches - builder2 attempts to build perlBindings.aarch64-darwin, which depends on -dev from build.aarch64-darwin. - builder2 needs to rebuild all of build.aarch64-darwin to get -dev. Change-Id: I51f7e641f987eebcd65b3cd57c1f6b1bfbfebd32 --- calculate-buildkite-steps.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/calculate-buildkite-steps.py b/calculate-buildkite-steps.py index 3f4edc00c..2ccdcad72 100755 --- a/calculate-buildkite-steps.py +++ b/calculate-buildkite-steps.py @@ -118,7 +118,7 @@ try: { 'command': textwrap.dedent(f''' set -ueo pipefail - resultPath=$(nix build --print-out-paths --no-link -L ".#hydraJobs.{job.name}") + resultPath=$(nix build --print-out-paths --no-link -L ".#hydraJobs.{job.name}^*") echo "Built paths: $$resultPath" attic push afnix-ci $$resultPath || true '''),