[SOLVED] "Ending" stuck lint only/orphaned buildables


Sometimes the arc lint + arc unit stage of a buildable doesn’t complete (e.g. https://secure.phabricator.com/B7143 ) and the result is a buildable that can’t be aborted or restarted and so will forever appear in a search for “Building” buildables. Similarly sometimes orphan buildables are created (e.g. https://secure.phabricator.com/B19111 ) and again they can’t be aborted or restarted.

Is there a way to clean these up? Web or command line is equally good…


An earlier discussion talks about using ./bin/remove destroy to remove preview diffs so maybe that can be used (with all the caveats implied when destroying things in Phabricator)…


So it turns out you can send conduit message that change the state of the arc-lint/arc-unit buildable. Using https://secure.phabricator.com/B7143 as an example, if you follow the arc lint + arc unit link (next to Build 7333) on that page you will arrive at a Build page. If you then click the Metadata tab (under Arcanist Lint Results) you can then find a “Build Target PHID” that you can send a conduit message to:

echo '{ "buildTargetPHID": "BUILDPHIDHERE",  "type": "pass" }' | arc call-conduit --conduit-uri https://phabricator.example.com/ harbormaster.sendmessage; done

The same process can be repeated to get the Arcanist Unit Results Build Target PHID.

This allowed nearly all buildables to be closed. There was one issue where the state didn’t change one of teh targets but this is covered by the report sent in Conduit call is generating phd log error message (and fixed by https://secure.phabricator.com/D20156 ).