Skip to content

no caching after timeout of a very long pipeline: "no substituter" for ...drv.chroot #34

@hraban

Description

@hraban

I have a giant nix build step with a 5h timeout. When the build fails early for some reason, I can see the caching action store successfully built paths. But when it hits the timeout, I see this error:

Post job cleanup.
  2024-03-02T17:22:02.595769Z  INFO magic_nix_cache::api: Workflow finished
    at magic-nix-cache/src/api.rs:50

  2024-03-02T17:22:02.615213Z  INFO magic_nix_cache::api: Pushing 3274 new paths
    at magic-nix-cache/src/api.rs:59

don't know how to build these paths:
  /nix/store/xlz372iydqc1llh6ji6bmmqmzqfrpbqn-system-eager-future2.drv.chroot
error: path '/nix/store/xlz372iydqc1llh6ji6bmmqmzqfrpbqn-system-eager-future2.drv.chroot' is required, but there is no substituter that can build it
  2024-03-02T17:22:03.880063Z ERROR magic_nix_cache::util: Failed to upload batch: ExitStatus(unix_wait_status(256))
    at magic-nix-cache/src/util.rs:79

I have simultaneously enabled the cachix action, and that action's post job cleanup does in fact upload built paths to cachix.

Does anyone recognize this .drv.chroot path? I couldn't find it in the magic cache source. Is there a builder for this which might die after hours of runtime, or be killed on timeout?

Example: https://github.com/hraban/cl-nix-lite/actions/runs/8122709877/job/22202434455

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions