hercules-ci / arion

Run docker-compose with help from Nix/NixOS
Apache License 2.0
622 stars 48 forks source link

You're using a version of Nixpkgs that doesn't support the includeStorePaths parameter in d #217

Open lunik1 opened 11 months ago

lunik1 commented 11 months ago

I am getting the following error after updating my arion compose to use the latest NixOS unstable:

trace: warning: You're using a version of Nixpkgs that doesn't support the includeStorePaths
parameter in dockerTools.streamLayeredImage. Without this, Arion's
useHostStore does not achieve the intended speedup.

Not sure if related, but I get a lot of cache misses when rebuilding too.

deliciouslytyped commented 10 months ago

Automatic bisect with

[nix-shell:~/nixpkgs]$ git bisect reset && git bisect start HEAD $(git rev-list -n 1 --before="3 months ago" master)
Updating files: 100% (11133/11133), done.
Previous HEAD position was fa81ad84ed29 Merge pull request #244101 from r-ryantm/auto-update/komga
Switched to branch 'master'
Your branch is up to date with 'origin/master'.
Bisecting: 16174 revisions left to test after this (roughly 14 steps)
[a99da55dfbee0df689503571b8084d66070d1569] Merge staging-next into staging

[nix-shell:~/nixpkgs]$ cat ../bisect/bisectscript
#!/usr/bin/env bash
set -x
arion cat -f /home/user/bisect/arion-compose.nix -p /home/user/bisect/arion-pkgs.nix |& tee /dev/tty | { timeout 20 awk "/t support the includeStorePaths/ { found=1; exit(1); } END { if (!found) exit(124); }"; [[ $? -eq 124 ]]; }
exit $?
...
[nix-shell:~/nixpkgs]$ git bisect run ../bisect/bisectscript
...
38c1400f67f6af73821d5be82f0ddab548e707e2 is the first bad commit
commit 38c1400f67f6af73821d5be82f0ddab548e707e2
Author: Robert Scott <code@humanleg.org.uk>
Date:   Sun Jan 1 23:43:00 2023 +0000

    dockerTools: use makeOverridable for buildImage family of functions

    this allows nix users to modify existing images without having
    to rely on container image inheritance mechanisms via fromImage

 pkgs/build-support/docker/default.nix | 15 +++++++++------                                                                                                                                                      1 file changed, 9 insertions(+), 6 deletions(-)
bisect found first bad commit      

attributes the problem to https://github.com/NixOS/nixpkgs/pull/208944 which wraps dockerTools functions in makeOverridable, presumably breaking functionArgs.

I have no idea if this is actually breaking some sort of caching or not.

The warning comes from https://github.com/hercules-ci/arion/blob/28902d348807c494115177595f812a3e54cc913b/src/nix/modules/service/image.nix#L21