Ports committer, perl@ member, ruby@ member.
Email: <swills AT FreeBSD DOT org>
Ports CI Automation
I've setup some automation which is designed to build test some patches sent by maintainers and others.
It tests PRs submitted to Bugzilla and approved by maintainers or where the maintainer timed out, and some other criteria.
It creates a git branch with the patch applied and with a GitLab CI file and pushes that branch to gitlab.com. Those are then build tested and can be seen here. You can then drill down into individual builds to see the build status results for various OS versions. This automation also adds the "buildisok" keyword to the bug in Bugzilla if the build succeeds.
Included in the logs for these builds are poudriere links with detailed build logs as well as links to IPFS which can be used to install the packages, though that tends to be somewhat slow. It is also possible to add this repo as a remote in git and cherry-pick from it into other repos/branches (-n flag for cherry-pick highly recommended), which will include a partially filled commit message including the submitter info and PR number.
Packages/ports based on rust do not build currently due to resource constraints.
The automation does not pick up updated patches, only whatever is there when the automation for that PR is run (it's run only once).
Build failures are ignored due to a number of reasons. Lack of a "buildisok" doesn't mean it isn't OK.
Just because something builds doesn't mean it's OK to commit. Build testing is only one part of verifying a PR, there is still manual testing, looking at the patch itself to verify it's correctness, etc.
It doesn't test patches from Phabricator.
It doesn't test new ports.