Skip to content

dune shouldn't require dependencies to be installed in order to run @fmt #8630

@edwintorok

Description

@edwintorok

Desired Behavior

dune build @fmt should succeed even when using the site stanza in install.

Example

Here is an example of the failure:
https://ocaml.ci.dev/github/edwintorok/lintcstubs/commit/8db4abc2ae1f8c579940a6a98940a41419a7aca0/variant/%28lint-fmt%29

It is caused by this stanza in dune:

(install
 (section
  (site
   (goblint lib_stub_src)))
 (files ocaml_runtime.model.c)
 (package lintcstubs))

Which causes dune to fail when goblint is not installed.

dune shouldn't make that a hard failure unless it actually wants to run the install rule (which it shouldn't need to for @fmt).

P.S.: for setup-ocaml based CIs this can be worked around by explicitly installing goblint before running @fmt, but to reduce time spent it may be desirable to avoid the installation of unnecessary packages.

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