Skip to content

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

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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions