Path dependency Causes Github CI to fail - missing .app file

I recently added a local dependency to my project.

{:foobar, path: "path/to/foobar"}

This works fine on the server and locally. However, when trying to compile in Github actions, I get several errors that I’m not sure how to start debugging.

The step from my CI:

      - name: Check warnings
        run: mix compile --warnings-as-errors
==> my_app
Could not compile :foobar, no "mix.exs", "rebar.config" or "Makefile" (pass :compile as an option to customize compilation, set it to "false" to do nothing)
Unchecked dependencies for environment test:
* foobar (./vendor/foobar)
  could not find an app file at "_build/test/lib/live_admin/ebin/". This may happen if the dependency was not yet compiled or the dependency indeed has no app file (then you can pass app: false as option)

Using elixir 1.15.7

Thanks in advance for any help!

I believe this is expected behaviour.

When CI checks out out your repo it’s not going to also checkout your path dependency. As a result, that dependency doesn’t exist in the CI image.

The approach I use is to promote the path dependency to a git branch and use the branch as a dependency - which will then be resolved in all environments.


You either have to put the dependency in another repo and give your CI system access to it, or you’ll have to add it directly inside your app.

1 Like