Skip to content

More helpful behavior when caches are broken/missing #4383

@expipiplus1

Description

@expipiplus1

Is your feature request related to a problem? Please describe.

  • I've tried to build my package, but an unrelated cache is failing

    building '/nix/store/8z0aq6pnim0v2rfnl97m5wqq505v3qaj-cabal2nix-.drv'...
    installing
    warning: unable to download 'https://my-self-hosted-unreliable-cache/1p34mip9xdfr5zp12895z7wxj9pgq83m.narinfo': HTTP error 502; retrying in 314 ms
    warning: unable to download 'https://my-self-hosted-unreliable-cache/1p34mip9xdfr5zp12895z7wxj9pgq83m.narinfo': HTTP error 502; retrying in 521 ms
    warning: unable to download 'https://my-self-hosted-unreliable-cache/1p34mip9xdfr5zp12895z7wxj9pgq83m.narinfo': HTTP error 502; retrying in 1390 ms
    warning: unable to download 'https://my-self-hosted-unreliable-cache/1p34mip9xdfr5zp12895z7wxj9pgq83m.narinfo': HTTP error 502; retrying in 2140 ms
    error: unable to download 'https://my-self-hosted-unreliable-cache/1p34mip9xdfr5zp12895z7wxj9pgq83m.narinfo': HTTP error 502
    
  • I can realise what's happening and the obvious desired behavior is to disable that cache for this build but I don't know how to do that

  • I have to go and hunt down --option substitute false, and then do a build with no caching at all

Describe the solution you'd like

Ideally nix could be configured to always treat cache errors as misses, this is almost always the behavior I want.

Failing that, the least it could do would be to print on stderr Looks like a cache is failing, perhaps you want '--option ignore-cache https://my-self-hosted-unreliable-cache/' (or even just prompt --option substitute false).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels
    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