Caching dialyxir PLTs in CI

Hello,

I want to setup dialyxir in CircleCI.

In the repository there is an example for caching the PLT in order to get faster CI runs. But that example only caches the local PLT.

Should I add dialyxir_erlang-25.0_elixir-1.14.0.plt and dialyxir_erlang-25.0.plt to this cache by providing these options:

    [
      plt_local_path: "_build/plts/local",
      plt_core_path: "_build/plts/core"
    ]

Or is it a bad idea?

Pinging @jeremyjh

Thank you!

Edit: from my understanding the core PLTs are only used once to build the local PLTs. After this is done, it seems that they can be deleted without impacting the duration of the run. Dialyzer/Dialyxir will not even recreate them. But I am not sure.

Yes if that local file exists it won’t use the Erlang/Elixir versioned files; those core PLTs are just there to save time building them if you have multiple projects that use the same Erlang/Elixir versions on your development machine, but they aren’t very important to CI workflows.

2 Likes

Thank you :slight_smile: