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:
@@ -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
|
||||
'''),
|
||||
|
||||
Reference in New Issue
Block a user