Skip to content

dune frequently making full builds #1924

@jdchristensen

Description

@jdchristensen

After a PR is merged to this repo, I pull the new commits into my local clone and run dune build. For some reason, most of the time every single .v file in the Coq-HoTT library gets rebuilt, starting with Basics/Utf8.v. I would of course normally expect that only the changed files and their dependencies get rebuilt. Note that I'm not running dune clean, so the previous .vo files are still present. (In addition, I use the dune cache, so even if the .vo files were not present, they should be found in the cache and replaced without coqc being run.)

This has been going on for a week or two I believe. I finally figured out a way to reproduce it.

# This is PR #1919:
git checkout d9ff10ee1
# Just build part, to save time:
dune build --cache=disabled _build/default/theories/Basics.vo
# This is current master, PR #1923:
git checkout c0f202e22
dune build --cache=disabled _build/default/theories/Basics.vo
# The above builds every file in Basics, including Utf8.v, which has no Requires lines.
# This shows that Basics/Datatypes.v is the only file that changed between these two:
git diff --stat d9ff10ee1 theories/Basics

In those steps, I disable the dune cache, but I'll emphasize that even with the cache enabled, it happens the first time I pull in new changes, but is not reproducible after that.

This is with dune 3.14.2 and Coq 8.19.1.

Any ideas?

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