Skip to content

Conversation

@contested-space
Copy link

@contested-space contested-space commented Aug 4, 2025

Problem:

Since GenMagic uses Elixir Make 0.7.7, it isn't compatible with modern Phoenix applications.

Solution:

Upgrade Elixir Make to 0.9.0.

.tool-versions Outdated
@@ -1,2 +1,2 @@
erlang 23.2.6
elixir 1.11.3
erlang erlang 27.0.1
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it a typo?

Suggested change
erlang erlang 27.0.1
erlang 27.0.1

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good catch! Looks like I mistakenly ran asdf set erlang erlang 27.0.1 which either just didn't work and asdf defaulted to my global Erlang version, or was somehow luckily still correctly parsed. Fixed.

Copy link
Collaborator

@joaothallis joaothallis left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you!

@contested-space
Copy link
Author

Thanks for the approval!

Note: I (rightfully) don't have the permissions to merge and tag so I'll leave that to you.

@joaothallis
Copy link
Collaborator

@evadne do you know why the Travis CI wasn't triggered?

.tool-versions Outdated
Comment on lines 1 to 2
elixir 1.18.2-otp-27
erlang 27.0.1
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it necessary to update the Elixir and Erlang to upgrade the library? If yes, could you please update all other places using this old Elixir/Erlang version in the project?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good question. I'll make some tests to figure the minimal versions out and I'll update this.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All right! I looked it up and turns out Elixir Make works for Elixir 1.9 and up. It wasn't working for me because older versions of OTP require some SSL-related shenanigans. I removed the changes to .tool-versions, since they are not needed for this change.

I would recommend completely removing this file and instead relying on mix.exs to enforce the Elixir and OTP versions instead, but this is out of the scope of this PR.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Update: I also slightly change the mix.exs to stop this warning:


Run mix compile --warnings-as-errors
    warning: using single-quoted strings to represent charlists is deprecated.
    Use ~c"" if you indeed want a charlist or use "" instead.
    You may run "mix format --migrate" to change all single-quoted
    strings to use the ~c sigil and fix this warning.
    │
  4 │   if :erlang.system_info(:otp_release) < '21' do
    │                                          ~
    │
    └─ /home/runner/work/console/console/deps/gen_magic/mix.exs:4:42
    ``` 

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants