Mix release - Files in the overlays directory doesn't seem to be copied?

We’re migrating our apps from Distillery to mix release. It has been going well so far, but one thing that has been confusing us is that files placed in rel/overlays don’t seem to be copied to anywhere in the release (we also have the :tar step in the release). The following is a minimum reproduction:

  def project do
    [
      # ...
      releases: [
        demo: [
          include_executables_for: [:unix],
          steps: [:assemble, :tar]
        ]
      ]
    ]
  end

We placed a Dockerfile under the rel/overlays folder.

But when I grep the whole folder after running MIX_ENV=prod mix release, the Dockerfile still only exists in one copy, in rel/overlays, but not anywhere in the release itself.

The demo-0.1.0.tar.gz also doesn’t contain this file anywhere.

We tried to manually specify `overlays: “some_other_dir” but it didn’t work either.

The Elixir version is 1.9.4

Did we do something wrong?

Wait, I just answered my own question… In version 1.9.4 the :overlays functionality was apparently not added yet as I consulted the docs. Duh.

2 Likes