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