Phabricator "buildable" indication

I've noticed that some reviews, but not others, show up in Phab
with a "buildable" indication in a "Diff Detail" box, just below
the summary.

Can somebody describe what that's about? Most interesting might
be why it's there only sometimes, also what sort of "build" this
indication is reporting.

Thanks,
--paulr

I am actually curious about that as well. I took it to mean that some people have some kind of pre-delivery buildbot hooks in Phabricator. But that may just be wishful thinking :).

Hi All,

I just posted a review with arcanist (which I’m fairly new to) and it included a build status. How it got there is totally opaque to me, but my workflow was: Using git+svn (following the setup in https://llvm.org/docs/GettingStarted.html#for-developers-to-work-with-git-svn) make a change, commit with ‘git commit’, create review with ‘air diff’.

It would be cool if arcanist was running some sort of pre-review checks, but I’m executing arc from my source directory and I’m not sure how it would be getting from there to the build directory to actually verify anything about the build.

Cheers,
Lang.

Maybe phabricator is configured somehow to actually forward the patch that
you submitted for review via arcanist against some existing buildbot(s)?

This seems like a great feature if it exists as described.

-Brian

Phabricator’s arcanist has support for running a linter (arc lint) and unit tests (arc unit) before creating or updating a differential revision. Maybe this can be configured to run on a bot, but by default it just runs on the user’s machine. While I don’t think either of these tools are currently configured for LLVM, the build plan exists [1]. This is why the differentials show up as “buildable”.

I think it would be interesting to use this infrastructure to automatically run clang-format when creating a new differential with arcanist. It looks like a plugin already exists for doing exactly that [2].

[1] https://reviews.llvm.org/harbormaster/plan/1/
[2] https://github.com/vhbit/clang-format-linter