Skip to content

Why Cabal changed build plans on us? #10470

@brandonchinn178

Description

@brandonchinn178

Copying post from https://discourse.haskell.org/t/debug-why-cabal-is-choosing-a-version/10547; cc @grayjay. --allow-newer=lrucache:containers fixes the issue, but how did this happen in the first place?


At commit a0b03f1b3ed7ee31b7ee19caaa58d88afa5eb9d1 in Fourmolu, in the web/site/ subdirectory, if I run cabal build --dry-run, it resolves to hakyll-3.2.0.10. If I specify --constraint='hakyll>4', it shows the version I expect, hakyll 4.16.2.2. I would expect Cabal to always choose the more recent version if it's possible, so why is it resolving to 3.2.0.10? And why did it just start doing so?

CI passed on this commit on Oct 13, 5p PST: https://github.com/fourmolu/fourmolu/actions/runs/11318705914/job/31473662650

But the same commit is getting a different build plan now. I can repro locally, but it's also happening in CI for other PRs.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions