Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Elixir v1.15 is newest possible #52

Closed
Argonus opened this issue Dec 2, 2023 · 6 comments
Closed

Elixir v1.15 is newest possible #52

Argonus opened this issue Dec 2, 2023 · 6 comments

Comments

@Argonus
Copy link
Contributor

Argonus commented Dec 2, 2023

I'm wondering, why are we enforcing so high version of elixir like 1.15? Is there any dependency that requires such a high version?
v1.15 is newest stable version, so it's drastically reducing adoption of this dependency.
Maybe we should support some versions in past either, for example latest 5 versions of elixir or sth.
What do you think?

@jarlah
Copy link
Collaborator

jarlah commented Dec 3, 2023

I don't think there are any features that demand 1.15. I might be wrong. We could compile and test it for any number of the latest versions, check if the library works with all of them. No problem for me. Maybe you can try to whip up a change to the workflows, that does the cross compile and testing ?

@jarlah
Copy link
Collaborator

jarlah commented Dec 3, 2023

v1.15 is newest stable version, so it's drastically reducing adoption of this dependency.

I made a blafoo app and set version in mix to 1.14.5 and installed elixir and Erlang with asdf to 1.14.5

➜  blafoo elixir --version                
Erlang/OTP 26 [erts-14.1.1] [source] [64-bit] [smp:12:12] [ds:12:12:10] [async-threads:1] [jit]

Elixir 1.14.5 (compiled with Erlang/OTP 26)

then I ran tests

➜  blafoo mix test
Could not find Hex, which is needed to build dependency :testcontainers
Shall I install Hex? (if running non-interactively, use "mix local.hex --force") [Yn] y
* creating /Users/jarlah/.asdf/installs/elixir/1.14.5-otp-26/.mix/archives/hex-2.0.6
==> mime
Compiling 1 file (.ex)
Generated mime app
==> jason
Compiling 10 files (.ex)
Generated jason app
==> tesla
Compiling 37 files (.ex)
Generated tesla app
==> ex_docker_engine_api
warning: the dependency :ex_docker_engine_api requires Elixir "~> 1.15" but you are running on v1.14.5
Compiling 221 files (.ex)
Generated ex_docker_engine_api app
==> uuid
Compiling 1 file (.ex)
warning: use Bitwise is deprecated. import Bitwise instead
  lib/uuid.ex:2: UUID

warning: :crypto.hash/2 defined in application :crypto is used by the current application but the current application does not depend on :crypto. To fix this, you must do one of:

  1. If :crypto is part of Erlang/Elixir, you must include it under :extra_applications inside "def application" in your mix.exs

  2. If :crypto is a dependency, make sure it is listed under "def deps" in your mix.exs

  3. In case you don't want to add a requirement to :crypto, you may optionally skip this warning by adding [xref: [exclude: [:crypto]]] to your "def project" in mix.exs

Invalid call found at 2 locations:
  lib/uuid.ex:498: UUID.namebased_uuid/2
  lib/uuid.ex:502: UUID.namebased_uuid/2

warning: :crypto.strong_rand_bytes/1 defined in application :crypto is used by the current application but the current application does not depend on :crypto. To fix this, you must do one of:

  1. If :crypto is part of Erlang/Elixir, you must include it under :extra_applications inside "def application" in your mix.exs

  2. If :crypto is a dependency, make sure it is listed under "def deps" in your mix.exs

  3. In case you don't want to add a requirement to :crypto, you may optionally skip this warning by adding [xref: [exclude: [:crypto]]] to your "def project" in mix.exs

Invalid call found at 3 locations:
  lib/uuid.ex:340: UUID.uuid4/1
  lib/uuid.ex:469: UUID.uuid1_clockseq/0
  lib/uuid.ex:492: UUID.uuid1_node/1

Generated uuid app
==> testcontainers
warning: the dependency :testcontainers requires Elixir "~> 1.15" but you are running on v1.14.5
Compiling 28 files (.ex)
warning: Ecto.Migrator.run/4 is undefined (module Ecto.Migrator is not available or is yet to be defined)
  lib/ecto.ex:294: Testcontainers.Ecto.database_container/2

Generated testcontainers app
==> blafoo
Compiling 1 file (.ex)
Generated blafoo app
..
Finished in 22.5 seconds (0.00s async, 22.5s sync)
1 doctest, 1 test, 0 failures

Randomized with seed 284903
➜  blafoo 

using latest version of testcontainers for elixir v1.5

@jarlah
Copy link
Collaborator

jarlah commented Dec 3, 2023

so there is only a couple of warnings shown when compiling the project.

@Argonus
Copy link
Contributor Author

Argonus commented Dec 4, 2023

@jarlah will take a look at it soon :) thanks

@jarlah
Copy link
Collaborator

jarlah commented May 9, 2024

@Argonus didnt we add cross version building in workflows ? can we close this?

@jarlah
Copy link
Collaborator

jarlah commented May 15, 2024

we support this

     - elixir: 1.16
        otp: 26.2
      - elixir: 1.15
        otp: 26.2
      - elixir: 1.14
        otp: 25.3
      - elixir: 1.13
        otp: 25.3
      - elixir: 1.13
        otp: 24.2

@jarlah jarlah closed this as completed May 15, 2024
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

No branches or pull requests

2 participants