Details
Consider the following example of a failed arc unit / lint run:
It is associated with revision D25501. On the revision overview page, harbormaster states:
Harbormaster completed remote builds in B1109: Diff 1761.
It completed, but failed. The "Plan Behavior" settings of plan 1 are:
https://we.phorge.it/harbormaster/plan/1/
- Revisions are not sent for review until the build completes, and are returned to the author for updates if the build fails. This is not honored according to our tests
- The buildable waits for the build, and fails if the build fails. The buildable has failed, but harbormaster does not state that in the revision
If a "normal" (not autoplan) plan fails, harbormaster states Harbormaster failed remote builds in ... and the revision is kept in draft state.
The question is, is this expected behavior of plan 1?
Thanks!
Answers
Those might be bugs on the display of the Build Plan.
The page also says that the build "may be restarted", which isn't true
This is the automatic plan, that's being run locally when running arc diff. That "plan" predates the Harbormaster formal Plan settings by a lot (and the Draft feature), so to avoid changing behavior, it not actually intended to keep a revision as draft.
The arc diff flow will warn the user if there are lint/unit errors, but the author can ignore the warning and Request Review anyway. I think that if you answer "no" at that point, the Revision will not be created.
The Buildtable in the context of the build is the Differential Diff object (which is immutable), not the Revision; There's a section in the Revision page that shows that the build failed (but that doesn't block anything).