setup-elixir icon indicating copy to clipboard operation
setup-elixir copied to clipboard

Document which precompiled elixir is used

Open chulkilee opened this issue 4 years ago • 4 comments

From the source code, it detects the otp major version from otp-version, and append it to Bob's elixir version (so 1.11.0 would be 1.11.0-otp-23.

I like this default behavior since it uses the specific precompiled elixir matched to the given otp version... but I think 1) where the elixir binary from and 2) which elixir binary will be fetched should be noted in the README for clarity.

(Ideally, I think it would be better to use the elixir-version as-is for Bob's elixir - so I can just pass 1.11.0-otp-22 as elixir-version - and I can test it against OTP 23 for example. Is it possible?)

chulkilee avatar Nov 29 '20 11:11 chulkilee

Ideally, I think it would be better to use the elixir-version as-is for Bob's elixir - so I can just pass 1.11.0-otp-22 as elixir-version - and I can test it against OTP 23 for example. Is it possible?

That feature could technically be added but why do you want it?

ericmj avatar Nov 29 '20 12:11 ericmj

That feature could technically be added but why do you want it?

Imagine a project using actions/setup-elixir to run benchmark with different combination of otp/elixir versions with different targeted otp versions.

chulkilee avatar Nov 30 '20 00:11 chulkilee

Imagine a project using actions/setup-elixir to run benchmark with different combination of otp/elixir versions with different targeted otp versions.

Okay, but why would you want to benchmark an Elixir built for OTP X running on OTP Y? Why not just use the Elixir build that was built against the correct version? Have there been benchmark results where this made a difference?

ericmj avatar Nov 30 '20 12:11 ericmj

why would you want to benchmark an Elixir built for OTP X running on OTP Y?

I don't know much about the behind scene... but I guess {1.11-otp-19 + OTP 20} uses some OTP 19 only features (e.g. it does uses OTP 19 functions not new OTP 20 functions) while it takes advantage of new implementation of same functions in OTP 20. So it would be some of {1.11-otp-19 + OTP 19} and some of {1.11-otp-20 + OTP 20}.

I agree that this is minor thing.

  • Probably the difference would be very minimal though :)
  • Different behavior (bug) should be caught by elixir or otp , not requiring library authors to check them.

However.. if it's easy to add this feature (and bob is already providing them officially) - why not?

Anyway, let's add the documentation saying it picks up the elixir compiled to the corresponding major OTP version.

chulkilee avatar Dec 01 '20 00:12 chulkilee