Page MenuHomePhabricator

Implement "Run Arc Unit" build step and support showing unit test results inside Harbormaster
Open, NormalPublic

Description

This involves:

  • Adding storage for storing unit test results. I think for Differential this is stored as JSON and loaded, and we might just use the same mechanism for consistency, or we could have a dedicated table that actually stores the data into columns properly.
  • Implementing a build step that runs "arc unit" consistently across different platforms. D9113 actually addresses most of the cross-platform issues that were encountered with running a specific command, so most of that should be able to be adapted to the "arc unit" test case.

Event Timeline

hach-que created this task.Aug 8 2014, 1:04 AM
hach-que claimed this task.
hach-que raised the priority of this task from to Normal.
hach-que updated the task description. (Show Details)
hach-que changed the visibility from "Public (No Login Required)" to "All Users".
hach-que added subscribers: hach-que, epriestley.
chad edited projects, added Harbormaster; removed Phabricator.Nov 12 2014, 5:57 AM

Does this task subsume T7419?

More or less. Broadly, the plan here is:

  • Harbormaster "owns" lint and unit test results in the future.
  • Arcanist, Harbormaster, and third-party test integrations upload results to Harbormaster, either as part of a build or in some as-yet-unspecified way that's more like "here are some results for this thing, they aren't really part of a build per se". Not sure if that'll be a special case or a real build with a special flag or what.
  • Differential pulls results in from Harbormaster and renders them.

This task doesn't really cover that responsibility change, but it will happen when Harbormaster moves forward.

epriestley moved this task from Backlog to v2 on the Harbormaster board.Aug 10 2015, 2:43 PM
epriestley changed the visibility from "All Users" to "Public (No Login Required)".
elesh added a subscriber: elesh.Aug 10 2015, 6:10 PM

After D14190, you can do this with a vanilla "Command" build step that runs something like this:

$ arc unit --everything --conduit-uri <api-token> --target ${target.phid}

This is relatively not-that-terrible, although I think it's probably still worthwhile to have a custom step for this which is a thin wrapper around the command step.

The need to have a bare API token here is a little sketchy. Putting it in Passphrase and exposing it as a build variable would be one step better. Doing Conduit over SSH might be even cleaner (T550).

epriestley moved this task from v2 to v3 on the Harbormaster board.Mar 3 2016, 3:05 PM
epriestley edited projects, added Harbormaster (v3); removed Harbormaster.
nochum added a subscriber: nochum.May 6 2016, 4:51 PM
hach-que removed hach-que as the assignee of this task.May 15 2016, 5:45 AM
eadler added a project: Restricted Project.Aug 5 2016, 4:44 PM
nchammas removed a subscriber: nchammas.Aug 5 2016, 4:45 PM
urzds added a subscriber: urzds.Jul 12 2017, 11:13 AM