Skip to content

Observable change of execution order was introduced in #946 if two matches write same file #1000

Open
@BinderDavid

Description

It is a bit difficult to summarize the problem in the description, but I have provided a reproducer below. The problem is that hakyll does not produce the correct build results upon the first invocation, but if we force the rebuild of the problematic files (by using site watch and changing something in the file), then hakyll produces the correct result.

The bug seems to have been introduced between 4.15.1.1 which does not exhibit the bug, and 4.16.1.0 which exhibits the bug. I will try to do a git bisect to identify the commit which is responsible.

Related Issue: haskellfoundation/error-message-index#459

How to reproduce

  • Checkout the error-message-index at commit fa5adac344b3c6659ed2af89488ef5bdf404a9d9 which uses hakyll ^>= 4.16.1.0 in its cabal file.
  • Build the site by going into the message-index subdirectory and executing cabal run -- site watch
  • Open the site in the browser and look at the error message for GHCup-00110: The generated HTML page is missing the header, title and footer sections.
  • Change the preamble of the file messages/GHCup-00110/index.md, for example by changing the title or removing one of the other fields.
  • Hakyll should now rebuild the page: The generated error page for the error GHCup-00110 now has the correct header, title and footer.

When comparing two versions it is important to clean the _cache directory between runs. It is otherwise possible that the faulty version reuses the cache from a run of the correct version, and you can no longer observe the error.

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions