HomePhabricator

Execute Herald again after promoting revisions out of the "Draft" state

Description

Execute Herald again after promoting revisions out of the "Draft" state

Summary:
Fixes T13027. Ref T2543. When revisions promote from "Draft" because builds finish or no builds are configured, the status currently switches from "Draft" to "Needs Review" without re-running Herald.

This means that some rules -- notably, "Send me an email" rules -- don't fire as soon as they should.

Instead of applying this promotion in a hacky way inline, queue it and apply it normally in a second edit, after the current group finishes.

Test Plan:

  • Created a revision, reviewed Herald transcripts.
  • Saw three Herald passes:
    • First pass (revision creation) triggered builds and no email.
    • Second pass (builds finished) did not trigger builds (no update) and did not trigger email (revision still a draft).
    • Third pass (after promotion out of 'draft') did not trigger builds (no update) but did trigger email (revision no longer a draft).

Reviewers: amckinley

Reviewed By: amckinley

Maniphest Tasks: T13027, T2543

Differential Revision: https://secure.phabricator.com/D18819