I’m currently checking how I could integrate our CI system into phabricator pre-publish-review. After reading a lot of stuff I came to this conclusion:
- Creating a herald rule which triggers a new build for a review request.
- Because in the phabricator approach this have not been published to any git repo,
a shell script would use “arc patch” to apply the changes and triggers the build.
(Today this happens using git hooks, because we only build published changes)
- The result would be inserted into the review request using the phabricator json API.
This could be just comment or a rejectchanges. This somehow could mitigate the issue (T731),
that multiple approvers are required.
I read also something about harbour, build plans and drydock, but I don’t really understand it yet.
Is this an own CI system, or could be used also to integrate existing ones?
Background: Our CI system is very similar to Travis-CI. It uses docker based images, which can be configured via a checked-in file .ci.yml. The build is triggered via a git hook, which informs all build hosts via IRC about changed branches. Because our cross-platform C/C++ code is built using CMake, we are using CDash to view build results including units tests, coverage analysis, valgrind, etc. CDash also sends email notifications.
I’m not sure how this fits into harbour.