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

Support Erlang OTP/26 and Elixir 15 #204

Merged

Conversation

kianmeng
Copy link
Contributor

@kianmeng kianmeng commented Nov 5, 2023

List of chanages:

  • add Erlang OTP/26 and Elixir to GitHub CI
  • bump outdated deps, see https://hex.pm/l/HgEiR
  • bump GitHub actions
  • set Elixir 1.11 as minimum requirement

List of chanages:
- add Erlang OTP/26 and Elixir to GitHub CI
- bump outdated deps, see https://hex.pm/l/HgEiR
- bump GitHub actions
- set Elixir 1.11 as minimum requirement
@@ -8,7 +8,7 @@ defmodule AbsintheRelay.Mixfile do
[
app: :absinthe_relay,
version: @version,
elixir: "~> 1.10",
elixir: "~> 1.11",
Copy link
Contributor Author

Choose a reason for hiding this comment

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

==> absinthe
warning: the dependency :absinthe requires Elixir "~> 1.11" but you are running on v1.10.4
Compiling 1 file (.yrl)
Compiling 1 file (.erl)
Compiling 260 files (.ex)

== Compilation error in file lib/absinthe/phase/parse.ex ==
Error: ** (CompileError) lib/absinthe/phase/parse.ex:120: undefined function is_exception/1
    (elixir 1.10.4) src/elixir_locals.erl:114: anonymous fn/3 in :elixir_locals.ensure_no_undefined_local/3
    (stdlib 3.12.1.2) erl_eval.erl:680: :erl_eval.do_apply/6
could not compile dependency :absinthe, "mix compile" failed. You can recompile this dependency with "mix deps.compile absinthe", update it with "mix deps.update absinthe" or clean it with "mix deps.clean absinthe"
Error: Process completed with exit code 1.


- name: Set up Elixir
uses: erlef/setup-elixir@v1
uses: erlef/setup-beam@v1
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Remove extra redirection. See erlef/setup-beam#20.

"ecto": {:hex, :ecto, "3.7.1", "a20598862351b29f80f285b21ec5297da1181c0442687f9b8329f0445d228892", [:mix], [{:decimal, "~> 1.6 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "d36e5b39fc479e654cffd4dbe1865d9716e4a9b6311faff799b6f90ab81b8638"},
"ex_doc": {:hex, :ex_doc, "0.28.2", "e031c7d1a9fc40959da7bf89e2dc269ddc5de631f9bd0e326cbddf7d8085a9da", [:mix], [{:earmark_parser, "~> 1.4.19", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_elixir, "~> 0.14", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1", [hex: :makeup_erlang, repo: "hexpm", optional: false]}], "hexpm", "51ee866993ffbd0e41c084a7677c570d0fc50cb85c6b5e76f8d936d9587fa719"},
"earmark_parser": {:hex, :earmark_parser, "1.4.37", "2ad73550e27c8946648b06905a57e4d454e4d7229c2dafa72a0348c99d8be5f7", [:mix], [], "hexpm", "6b19783f2802f039806f375610faa22da130b8edc21209d0bff47918bb48360e"},
"ecto": {:hex, :ecto, "3.10.3", "eb2ae2eecd210b4eb8bece1217b297ad4ff824b4384c0e3fdd28aaf96edd6135", [:mix], [{:decimal, "~> 1.6 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "44bec74e2364d491d70f7e42cd0d690922659d329f6465e89feb8a34e8cd3433"},
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Generated absinthe app                                                                                                                    
==> ecto                     
Compiling 56 files (.ex)      
warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.         
                                                                                                                                          
This error happens when you have function calls without parentheses inside keywords. For example:                                         
                                                                                                                                          
    function(arg, one: nested_call a, b, c)                          
    function(arg, one: if expr, do: :this, else: :that)                                                                                   
                                                                     
In the examples above, we don't know if the arguments "b" and "c" apply to the function "function" or "nested_call". Or if the keywords "d
o" and "else" apply to the function "function" or "if". You can solve this by explicitly adding parentheses:                              
                                                                                                                                          
    function(arg, one: if(expr, do: :this, else: :that))             
    function(arg, one: nested_call(a, b, c))                         
                                                                                                                                          Ambiguity found at:                                                                                                                       
  lib/ecto/association.ex:445
                                                                     
warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.         
                                                                                                                                          
This error happens when you have function calls without parentheses inside keywords. For example:                                         
                                                                                                                                          
    function(arg, one: nested_call a, b, c)                          
    function(arg, one: if expr, do: :this, else: :that)              
                                                                     
In the examples above, we don't know if the arguments "b" and "c" apply to the function "function" or "nested_call". Or if the keywords "o" and "else" apply to the function "function" or "if". You can solve this by explicitly adding parentheses:

    function(arg, one: if(expr, do: :this, else: :that))
    function(arg, one: nested_call(a, b, c))

Ambiguity found at:
  lib/ecto/changeset.ex:568

warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.

This error happens when you have function calls without parentheses inside keywords. For example:

    function(arg, one: nested_call a, b, c)
    function(arg, one: if expr, do: :this, else: :that)

In the examples above, we don't know if the arguments "b" and "c" apply to the function "function" or "nested_call". Or if the keywords "d
o" and "else" apply to the function "function" or "if". You can solve this by explicitly adding parentheses:

    function(arg, one: if(expr, do: :this, else: :that))
    function(arg, one: nested_call(a, b, c))

Ambiguity found at:
  lib/ecto/changeset.ex:2904

warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.

This error happens when you have function calls without parentheses inside keywords. For example:

    function(arg, one: nested_call a, b, c)
    function(arg, one: if expr, do: :this, else: :that)

In the examples above, we don't know if the arguments "b" and "c" apply to the function "function" or "nested_call". Or if the keywords "d
o" and "else" apply to the function "function" or "if". You can solve this by explicitly adding parentheses:

    function(arg, one: if(expr, do: :this, else: :that))
    function(arg, one: nested_call(a, b, c))

Ambiguity found at:
  lib/ecto/changeset.ex:2906

warning: atom ::: must be written between quotes, as in :"::", to avoid ambiguity
  lib/ecto/query/builder.ex:255:8

warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.

This error happens when you have function calls without parentheses inside keywords. For example:

    function(arg, one: nested_call a, b, c)
    function(arg, one: if expr, do: :this, else: :that)

In the examples above, we don't know if the arguments "b" and "c" apply to the function "function" or "nested_call". Or if the keywords "d
o" and "else" apply to the function "function" or "if". You can solve this by explicitly adding parentheses:

    function(arg, one: if(expr, do: :this, else: :that))
    function(arg, one: nested_call(a, b, c))


Ambiguity found at:
  lib/ecto/repo/schema.ex:621


== Compilation error in file lib/ecto/query.ex ==
** (Kernel.TypespecError) lib/ecto/query.ex:428: type dynamic/0 is a built-in type and it cannot be redefined
    (elixir 1.15.7) lib/kernel/typespec.ex:961: Kernel.Typespec.compile_error/2
    (stdlib 5.1.1) lists.erl:1599: :lists.foldl_1/3
    (elixir 1.15.7) lib/kernel/typespec.ex:226: Kernel.Typespec.translate_typespecs_for_module/2
could not compile dependency :ecto, "mix compile" failed. Errors may have been logged above. You can recompile this dependency with "mix d
eps.compile ecto --force", update it with "mix deps.update ecto" or clean it with "mix deps.clean ecto"

@benwilson512 benwilson512 merged commit ddb0f46 into absinthe-graphql:master Nov 5, 2023
2 checks passed
@benwilson512
Copy link
Contributor

Thanks for another helpful contribution!

@kianmeng
Copy link
Contributor Author

kianmeng commented Nov 6, 2023

🥳 🥳 🥳 🥳 🥳

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