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
This commit is contained in:
Pierre Bourdon
2026-01-20 11:11:08 +01:00
parent e676a6c5b5
commit 700f43c2cb
+1 -1
View File
@@ -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
'''),