Converted umbrella project can't run tests from top level

I’ve got an umbrella w/ 2 apps. Phoenix (Ecto), GenServer (no Ecto)

When I run mix test from the root, I get this error:

==> api
Compiling 2 files (.ex)

11:55:00.736 [info] Already up
“resetting tenants - start”
warning: could not find repositories for application nil.

You can avoid this warning by passing the -r flag or by setting the
repositories managed by this application in your config/config.exs:

config nil, ecto_repos: [...]

The configuration may be an empty list if it does not define any repo.

If I iex into the root, Mix.Project.config[:app] is indeed nil. if I manually:

c "apps/api/mix.exs"

then Mix.Project.config[:app] returns :api, as it ought.

I’m assuming that the ==> api in the output above means that it’s in the api app, and should have compiled that mix.exs, but it seems that that has not happened.

Any pointers on where to go from here?

Is there maybe a naming conflict?

I had problems with naming where the umbrella project was named “api” and then I had “apps/api”. There was a naming conflict and so I had to rename it to “apps/api_core” or whatever.

@ryh I think you’re probably onto the problem here, but I can’t figure out where the umbrella project is ever named at all, other than by the file system. I tried renaming the top level directory and that didn’t help though. Am I missing a field somewhere?