Comments (7)
Hello! Thanks for chiming in.
If I notice issues in the main
branch and contribute fixes against that branch, they get will be included in the next 1.x release, correct? And if the Elixir team decides it's worth to back-port the change, they do it. It always seemed good enough for me, I don't want to nag the Elixir team about already issues already resolved on the main
branch, I trust their judgement on whether something is worth back-porting. I'm grateful they spend time reviewing and merging my PRs even in instances where their only goal is to make Dialyzer happy.
I also don't want to spend much more time maintaining filtering logic for Dialyzer issues. I'm afraid having more versions of codebases the script runs against would mean more small differences in reported issues format like line (and nowadays also column) numbers. I don't want to simplify filtering logic too much, I want to keep the line numbers because ideally if I have the time I re-visit the filtered issues when code around them changes.
Thanks for the suggestion though, I appreciate it!
from elixir-lang-dialyzer-runs.
Just to clarify, since there are not errors on main and they get detected as soon as they committed, my concern was about the introduction of Dialyzer errors in the stable version when changes are backported or fixes are introduced, and it was not so much about new errors detected in 'main', since those only affect main probably.
from elixir-lang-dialyzer-runs.
_Yes, it's totally understandable and a good balance I guess.
from elixir-lang-dialyzer-runs.
Also sometimes a new OTP version comes and supports is added to the stable patch version.
Sorry, not trying to be pushy at all 😅 . I just wanted to state the possible scenarios where these errors may go unnoticed.
It's a lot of work, I know.
from elixir-lang-dialyzer-runs.
@eksperimental No worries, I understand where you're coming from.
I started this repository when I was in a big project where Dialyzer was being used, and debugging some issues led me to finding and fixing specs in Elixir itself. Currently I am not involved in any projects that use Dialyzer rigorously. I just maintain this repository and keep this check running since I have some Dialyzer knowledge that can be of use.
Maybe it wouldn't be that much work. If you want, maybe you can fork the repository and enable Github Actions to run it on other branches than main
? For now I plan to keep the Dialyzer check in this repository running against main
, as long as there won't be any big changes to Elixir or Dialyzer that would make it much harder to maintain than currently.
from elixir-lang-dialyzer-runs.
That's a good idea. I will git it a go! Thank you for the suggestion
from elixir-lang-dialyzer-runs.
I already have a working version.
https://github.com/eksperimental/elixir-lang-dialyzer-runs
I will start running it once 1.14 is out, which will be out in two weeks.
from elixir-lang-dialyzer-runs.
Related Issues (8)
- Elixir added more info to beams so now non proper list warnings show up HOT 2
- Filter non-issues HOT 1
- Save the dialyzer output in action artifacts
- Return with error code when issues are found
- generate the artifact even when the job fails
- Macros / compile time execution for generating filtering clauses HOT 1
- Count occurrences when filtering HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from elixir-lang-dialyzer-runs.