I spend a LOT of time reviewing PRs and issues, commit logs and CI build results in a number of projects on GitHub and Bitbucket, and while I'm no expert, I have some recommendations that would make these tasks easier in this project.

(A) Buildbot test results aren't reported a GitHub PR's status, as with GH Actions and Travis CI. This would be useful to those submitting code through that interface, as well as maintainers merging PRs, since automated build results are all visible through a single interface. There's a buildbot GitHub status interface [1] that should be available in the version running at buildbot.linuxcnc.org.

(B) Some changes going into mainline branches are not going through PRs. If this is not a deliberate decision and the situation evolved organically from the days of glo, the project should consider requiring all changes go through a submit/CI/review/merge workflow enforced by GH's branch protection rules. Requiring all commits go through a PR conveys a number of benefits, not limited to the following: - A PR serves as a channel for the community to discuss a set of changes even when there's not a separate, related issue - Any change going into a mainline branch will trigger a notification; changes can't be slipped in without notice - CI build results are available on the PR web page, as in (A) above; this information is available both to contributors and reviewers - PRs can't be merged until all CI builds pass, preventing known problems from being accidentally mainlined - A `git bisect` won't fail on untested commits that are part of a bigger stack pushed without a parent merge commit to insulate them

This project has excellent infrastructure, including the buildbot and the forums, and it has done a great job over the last several years making improvements, like migrating both the code repository and issue tracker over to GitHub, accepting PRs, and adding GH Actions and Travis CI. If these changes weren't too onerous for the community to adopt, they would be two more incremental improvements on that solid base.

    John

[1]: https://docs.buildbot.net/0.8.9/manual/cfg-statustargets.html#githubstatus


_______________________________________________
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers

Reply via email to