mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-10 00:42:41 +01:00
d6b937ca27
Summary: Ref T1049. Allows external systems to send a message to a build target. The primary intended use case is: - You make an HTTP request to Jenkins. - The build goes into a "waiting" state. - Later, Jenkins calls `harbormaster.sendmessage` to report that the target passed or failed. - The build continues as appropriate. This is deceptively complicated because: - There are a lot of race concerns. We might get a message back from an external system before it even responds to the request we made. We want to make sure we process these messages no matter when we receive them. - These messages need to be sent to a build target (vs a build or buildable) because we'll get into trouble with parallelization later on otherwise (Jenkins is told to do 3 builds; we can't tell which ones failed or what overall state is unless the message are sent to targets). - I initially thought about implementing this as a separate "Wait for a response from an external system" build step. This gets a lot more complicated for users once we do parallelization, though. Particularly, in the case where you've told Jenkins to do 3 builds, the three "wait" steps need to know which target they're waiting for (and jenkins needs to know some unique identifier for each target). So this pretty much boils down to a more complicated, more error-prone version of using target PHIDs. This makes the already-muddy Build UI a bit worse, but it needs a general clarity pass anyway (it's showing way too much uninteresting data, and should show a better summary of results instead). Test Plan: - This doesn't really do anything interesting yet. - Used Conduit to send messages to build plans. - Viewed the messages on the build screen. Reviewers: btrahan Reviewed By: btrahan Subscribers: epriestley Maniphest Tasks: T1049 Differential Revision: https://secure.phabricator.com/D8604 |
||
---|---|---|
.. | ||
20140104.harbormastercmd.sql | ||
20140106.macromailkey.1.sql | ||
20140106.macromailkey.2.php | ||
20140108.ddbpname.1.sql | ||
20140108.ddbpname.2.php | ||
20140109.ddxactions.sql | ||
20140109.projectcolumnsdates.sql | ||
20140113.legalpadsig.1.sql | ||
20140113.legalpadsig.2.php | ||
20140115.auth.1.id.sql | ||
20140115.auth.2.expires.sql | ||
20140115.auth.3.unlimit.php | ||
20140115.legalpadsigkey.sql | ||
20140116.reporefcursor.sql | ||
20140126.diff.1.parentrevisionid.sql | ||
20140126.diff.2.repositoryphid.sql | ||
20140130.dash.1.board.sql | ||
20140130.dash.2.panel.sql | ||
20140130.dash.3.boardxaction.sql | ||
20140130.dash.4.panelxaction.sql | ||
20140130.mail.1.retry.sql | ||
20140130.mail.2.next.sql | ||
20140201.gc.1.mailsent.sql | ||
20140201.gc.2.mailreceived.sql | ||
20140205.cal.1.rename.sql | ||
20140205.cal.2.phid-col.sql | ||
20140205.cal.3.phid-mig.php | ||
20140205.cal.4.phid-key.sql | ||
20140210.herald.rule-condition-mig.php | ||
20140210.projcfield.1.blurb.php | ||
20140210.projcfield.2.piccol.sql | ||
20140210.projcfield.3.picmig.sql | ||
20140210.projcfield.4.memmig.sql | ||
20140211.dx.1.nullablechangesetid.sql | ||
20140211.dx.2.migcommenttext.php | ||
20140211.dx.3.migsubscriptions.sql | ||
20140212.dx.1.armageddon.php | ||
20140218.differentialdraft.sql | ||
20140218.passwords.1.extend.sql | ||
20140218.passwords.2.prefix.sql | ||
20140218.passwords.3.vcsextend.sql | ||
20140218.passwords.4.vcs.php | ||
20140223.bigutf8scratch.sql | ||
20140224.dxclean.1.datecommitted.sql | ||
20140226.dxcustom.1.fielddata.php | ||
20140228.dxcomment.1.sql | ||
20140305.diviner.1.slugcol.sql | ||
20140305.diviner.2.slugkey.sql | ||
20140311.mdroplegacy.sql | ||
20140314.projectcolumn.1.statuscol.sql | ||
20140314.projectcolumn.2.statuskey.sql | ||
20140317.mupdatedkey.sql | ||
20140321.harbor.1.bxaction.sql | ||
20140321.mstatus.1.col.sql | ||
20140321.mstatus.2.mig.php | ||
20140323.harbor.1.renames.php | ||
20140323.harbor.2.message.sql |