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

Test on new elixir versions #1155

Merged
merged 1 commit into from
Feb 17, 2022

Conversation

kdawgwilk
Copy link
Contributor

@kdawgwilk kdawgwilk commented Feb 16, 2022

This adds newer elixir and otp versions to testing matrix and fixes a failing test
Closes #1154

@kdawgwilk
Copy link
Contributor Author

Unfortunately elixir had formatter changes in newer versions and so formatting passes on some versions and fails on others, not sure how to reconcile this to get them all to pass

@maartenvanvliet
Copy link
Contributor

There are some examples e.g. https://github.com/dashbitco/nimble_parsec/blob/2c3d6f0c058196d01ecb771e472a06f229a7e551/.github/workflows/ci.yml#L48 setting a var in the test matrix that will only run the formatter on elixir 1.13

@kdawgwilk kdawgwilk force-pushed the elixir_versions branch 7 times, most recently from 587ba98 to 4ba3ab6 Compare February 16, 2022 17:05
@kdawgwilk
Copy link
Contributor Author

Alright, thanks for the tip @maartenvanvliet I got that figured out and now all tests are passing but there are a few weird cases of tests failing on specific elixir and otp versions, and not fealing the best on how I got those passing 😬

@@ -13,6 +13,6 @@
"makeup_erlang": {:hex, :makeup_erlang, "0.1.1", "3fcb7f09eb9d98dc4d208f49cc955a34218fc41ff6b84df7c75b3e6e533cc65f", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}], "hexpm", "174d0809e98a4ef0b3309256cbf97101c6ec01c4ab0b23e926a9e17df2077cbb"},
"makeup_graphql": {:hex, :makeup_graphql, "0.1.2", "81e2939aab6d2b81d39ee5d9e13fae02599e9ca6e1152e0eeed737a98a5f96aa", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}, {:nimble_parsec, "~> 1.1", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "3390ab04ba388d52a94bbe64ef62aa4d7923ceaffac43ec948f58f631440e8fb"},
"mix_test_watch": {:hex, :mix_test_watch, "1.0.2", "34900184cbbbc6b6ed616ed3a8ea9b791f9fd2088419352a6d3200525637f785", [:mix], [{:file_system, "~> 0.2.1 or ~> 0.3", [hex: :file_system, repo: "hexpm", optional: false]}], "hexpm", "47ac558d8b06f684773972c6d04fcc15590abdb97aeb7666da19fcbfdc441a07"},
"nimble_parsec": {:hex, :nimble_parsec, "1.2.2", "811e32fb77aabb2b5b6196b21f76fe6ba8b6861c3d8c9eaeedbbf1f4cda627d1", [:mix], [], "hexpm", "dd3504559b0ddfeb7f55297557313fc05340120a037f981a4775b1c43e61d1b9"},
"nimble_parsec": {:hex, :nimble_parsec, "1.2.2", "b99ca56bbce410e9d5ee4f9155a212e942e224e259c7ebbf8f2c86ac21d4fa3c", [:mix], [], "hexpm", "98d51bd64d5f6a2a9c6bb7586ee8129e27dfaab1140b5a4753f24dac0ba27d2f"},
Copy link
Contributor Author

Choose a reason for hiding this comment

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

I am not sure how this hash was out of date but a fresh checkout of master requires running mix deps.get and updates the lock file

assert [
%Absinthe.Phase.Error{
extra: %{},
locations: [%{column: 3, line: 4}],
Copy link
Contributor Author

Choose a reason for hiding this comment

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

weird behavior difference where otp 24 now has column info

Copy link
Contributor

Choose a reason for hiding this comment

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

Yeah this is expected, this is a fine way to handle it.

# "could not load module <module> due to reason <reason>"
# where reason is an atom :embedded | :badfile | :nofile | :on_load_failure | :unavailable
_, %ArgumentError{message: message} ->
reason = message |> String.split(":") |> List.last()
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Not a fan of this as I am sure its pretty brittle, open to suggestions

Copy link
Contributor

@benwilson512 benwilson512 left a comment

Choose a reason for hiding this comment

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

This looks good, thanks for working on this!

assert [
%Absinthe.Phase.Error{
extra: %{},
locations: [%{column: 3, line: 4}],
Copy link
Contributor

Choose a reason for hiding this comment

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

Yeah this is expected, this is a fine way to handle it.

@benwilson512 benwilson512 merged commit a2223a6 into absinthe-graphql:master Feb 17, 2022
@kdawgwilk kdawgwilk deleted the elixir_versions branch February 18, 2022 00:58
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.

Test failure on elixir >1.12 otp 24
3 participants