Replies: 6 comments 5 replies
-
I just had another idea ... How about we agree on some minimum metrics for the core components (API, SPI, Transports, Cache, ... ) ... metrics like "minumum coverage" and some "sonarcloud metrics" (No criticial issues, no major, not more than 100 trivial, ....) |
Beta Was this translation helpful? Give feedback.
-
Sonar is already failing always, sadly this only works when Jenkins builds master. Maybe we can better integrate sonar here that it is being called on PRs and normal commits. |
Beta Was this translation helpful? Give feedback.
-
Hello, |
Beta Was this translation helpful? Give feedback.
-
Is say it won't do harm for new stuff and extensions, however if existing drivers are changed, that's what I think we have to do. Right now we have the situation where in go the s7 and the eip driver no longer are operational. |
Beta Was this translation helpful? Give feedback.
-
I absolutely agree that something needs to be done to improve the quality of code being committed to the develop branch. We have everything in place to do this with the PR function. This runs the CI process (Which we can add whatever checks we feel appropriate) for each language and if it doesn't build then it shouldn't be merged into develop. This may also increase participation in the project as picking a random person to review it may be just enough encouragement to get someone involved. I also believe people will be able to learn a lot just by reviewing and commenting on other peoples contributions. In saying this, I'd probably hold off on enforcing not committing directly to the develop branch, or having a requirement for at least one review. But I think it would be a good starting point to move forward. On Cesar's concern that it will stall development, I have the same concern. I think it is un-reasonable for people to contribute to other languages if the either aren't interested, don't have the time or just aren't able to because they aren't used to the language. I would be in favor to start using the versioning function of mspec files more, and then tackling versioning issues later on. |
Beta Was this translation helpful? Give feedback.
-
The more I think of it, the more I actually like the idea ... Lukasz once proposed using multiple versions of mspecs. Some time ago I added this feature to our tooling. Please have a look at the plc4x protocol and driver ... here you can add a version to the other coordinates. How about the following approach:
With this we're not blocking anything or rendering other language drivers useless and we can focus on porting changes to other languages as we have time for it. |
Beta Was this translation helpful? Give feedback.
-
Hi all,
unfortunately in the last few months I had partially voluntarily part involuntarily reduced me jumping on everything. However do I think this was bad. I am currently sort of stuck in an endless loop of fixing things all over the place.
Ininitialy, I thought putting up too many rules upfront is bad for the project and could discourage contributors. However is a feeling growing, that if we don't ramp up the rules, that the project will become unmaintainable. More and more core parts of the PLC4J part have become unstable because of the lack of real testing (not excluding myself from blame here). Right now I'm debugging through cascades of problems, that proper testing would have uncovered.
I would like to turn on the coverage rules for at least stuff like SPI, that will fail the build, if stuff isn't tested correctly.
Also would I like to put up a rule (not sure how to enforce it) that we shouldn't commit stuff to develop, if it breaks any of the sub-projects. I know some of you never setup their systems to build C and Go. So I would like to propose, that if you don't build with all profiles enabled, that changes are done in branches and the CI system does the checks for you.
Please tell me what you folks think?
Beta Was this translation helpful? Give feedback.
All reactions