Error trying to run dialyzer in CI using earthfile - +dialyzer *failed* | No .beam files to analyze

Hello,

I’m triing to run dialyzer in CI using earthfile and I get error:

+dialyzer *failed* | No :ignore_warnings opt specified in mix.exs and default does not exist.09:28
+dialyzer *failed* | Starting Dialyzer09:28
+dialyzer *failed* | [09:28
+dialyzer *failed* |   check_plt: false,09:28
+dialyzer *failed* |   init_plt: '/app/priv/plts/dialyzer.plt',09:28
+dialyzer *failed* |   files: [],09:28
+dialyzer *failed* |   warnings: [:unknown]09:28
+dialyzer *failed* | ]09:28
+dialyzer *failed* | :dialyzer.run error: Analysis failed with error:09:28
+dialyzer *failed* | No .beam files to analyze (no --src specified?)

There is also a lot of warnings:

+dialyzer *failed* | Unknown module :ranch_protocol09:28
+dialyzer *failed* | Unknown module :ranch_proxy_header09:28
+dialyzer *failed* | Unknown module :ranch_server09:28
+dialyzer *failed* | Unknown module :ranch_ssl09:28
+dialyzer *failed* | Unknown module :ranch_sup09:28
+dialyzer *failed* | Unknown module :ranch_tcp09:28
+dialyzer *failed* | Unknown module :ranch_transport

Code that is runned at stage

FROM +mix-config

COPY +download-deps/deps ./deps # We need erlang source files
COPY +compile-dev/dev ./_build/dev

RUN --mount=type=cache,target=./priv/plts mix dialyzer

But any hint will help, thank you

just a wild guess. I think I had something similar when I forgot to

mix local.hex
mix local.rebar

with asdf.

Actualy it was more funny, I forgod to copy lib folder to build step, on the other hand, the unknown module warning are still there, but build step is working

can you provide a minimal earthfile with the problem?