-
Notifications
You must be signed in to change notification settings - Fork 37
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
Shift workflow Erlang version from 23..25 to 24..26 #165
Conversation
8c3223e
to
6d9acd9
Compare
Hmm... I'm not entirely sure how to best solve this situation. In Erlang 26, "Dialyzer has enabled (by default) warnings about unknown types and functions." in its PR 6822. So Dialyzer needs knowledge about rebar types and functions to be able to check rebar3_gpb_plugin. Adding rebar as a dependency is probably (?) wrong. Another way to go could perhaps be to (in the github workflow files) add a step to build a plt for rebar, and add it as an extra plt in this project's rebar.config. Maybe it should be a helper script somewhere so that it would be easy to run both locally before commit as well as from a github workflow. What version of rebar to use when build that plt? The latest perhaps. |
That would probably work best, the latest rebar might be fine since they're already building against the oldest supported OTP version |
I'll try to take another look at this. (I must confess I had almost forgotten.) |
I tried to include rebar3 in the set of types for dialyzer, but failed. So I added Maybe it is still possible to find some way to run dialyzer and include rebar3 too, but I didn't manage to make that happen. Here's a list of attempts that failed for me (various degrees of ugliness): Adding rebar3 as a dependency (in a profile)But it doesn't seem like rebar3 itself is published on hex, unless I'm missing something. And it probably makes sense — how would one fetch it? Putting rebar3 apps into
|
6d9acd9
to
3b9142b
Compare
In the github workflow actions, run on Erlang versions 24..26 From 26, Erlang now warns about unknown functions and types. Add the no_unknown option to suppress those warnings, since otherwise, there will be issues for functions and types from rebar3 itself, as these are unknown when running dialyzer. (I tried, but failed, to include rebar3 in the dialyzer run, so for now, just disable those warnings.) However, the no_unknown option is not a available in Erlang 25 and earlier. Including it will cause an error that it is an unknown warning. So turn rebar.config into rebar.config.script to be able to conditionally include that option.
It turned out the
|
3b9142b
to
c79da29
Compare
phew all checks finally succeeded. |
In the github workflow actions, run on Erlang versions 24..26
Creating the PR as a draft for now to get the workflow actions to run, to see status.