Distillery with Elixir 1.7.1 and OTP-21 failing

Is distillery 1.7.1 compatible?
I get

╰─ mix release         
** (Mix.Releases.Config.LoadError) could not load release config rel/config.exs
    ** (UndefinedFunctionError) function Mix.Config.Agent.start_link/0 is undefined (module Mix.Config.Agent is not available)
    Mix.Config.Agent.start_link()
    (stdlib) erl_eval.erl:677: :erl_eval.do_apply/6
    (stdlib) erl_eval.erl:446: :erl_eval.expr/5
    (stdlib) erl_eval.erl:126: :erl_eval.exprs/5
    (elixir) lib/code.ex:232: Code.eval_string/3
    (distillery) lib/mix/lib/releases/config/config.ex:281: Mix.Releases.Config.read_string!/1
    (distillery) lib/mix/lib/releases/config/config.ex:302: Mix.Releases.Config.read!/1
    (distillery) lib/mix/lib/releases/config/config.ex:54: Mix.Releases.Config.get/1
    (distillery) lib/distillery/tasks/release.ex:77: Mix.Tasks.Release.run/1
    (mix) lib/mix/task.ex:316: Mix.Task.run_task/3
    (mix) lib/mix/cli.ex:79: Mix.CLI.run_task/2
    (elixir) lib/code.ex:767: Code.require_file/2

While on 1.6.6 with same project everything work’s ok.

This does not look like a problem with my code, but rather configuration or distillery. Does anyone have a clue how to debug it?

1 Like

Distillery was using private modules from mix that were refactored on 1.7 and that’s why it doesn’t work. There’s probably going to be a patch release from distillery soon, of there isn’t one already. Their issue tracker is probably the best place to track this.

2 Likes

Github repo was first place I looked, but since i did not find any new release, nor bug report. I guessed that maybe, I am missing something. Will report it there, just wanted to be sure it’s not my side.

1 Like

See https://github.com/bitwalker/distillery/issues/431

4 Likes

I think I’m seeing this issue after moving elixir 1.7.3, otp 21.0.3.

** (Mix.Releases.Config.LoadError) could not load release config rel/config.exs
    ** (CompileError) nofile:42: undefined function config/3
    (elixir) lib/code.ex:232: Code.eval_string/3
    lib/mix/lib/releases/config/config.ex:353: Mix.Releases.Config.read_string!/1
    lib/mix/lib/releases/config/config.ex:381: Mix.Releases.Config.read!/1

I went to distillery 2.0.x and no change.

Any ideas of a fix? Revert back to distillery 1.5.5?

1 Like

I narrowed-down the problem that I have this in my rel/config.exs:

config :olivetree, Olivetree.Mailer,
  adapter: Bamboo.MailgunAdapter,
  api_key: "hardcoded-4-now",
  domain: "****.mailgun.org"

Should this be in here? I have it in my config/config.exs already.