1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-11-24 15:52:41 +01:00
phorge-phorge/src/applications
epriestley 57b0353034 Add harbormaster.createartifact
Summary:
Ref T8659. In the general case, this eventually allows build processes to do things like:

  - Upload build results (like a ".app" or ".exe" or other binary).
  - Pass complex results between build steps (e.g., build step A does something hard and build step B uses it to do something else).

Today, we're a long way away from having the infrastructure for that. However, it is useful to let third party build processes (like Jenkins) upload URIs that link back to the external build results.

This adds `harbormaster.createartifact` so they can do that. The only useful thing to do with this method today is have your Jenkins build do this:

  params = array(
    "uri": "https://jenkins.mycompany.com/build/23923/details/",
    "name": "View Build Results in Jenkins",
    "ui.external": true,
  );
  harbormaster.createartifact(target, 'uri', params);

Then (after the next diff) we'll show a link in Differential and a prominent link in Harbormaster. I didn't actually do the UI stuff in this diff since it's already pretty big.

This change moves a lot of code around, too:

  - Adds PHIDs to artifacts.
  - It modularizes build artifact types (currently "file", "host" and "URI").
  - It formalizes build artifact parameters and construction:
    - This lets me generate usable documentation about how to create artifacts.
    - This prevents users from doing dangerous or policy-violating things.
  - It does some other general modernization.

Test Plan:
{F715633}

{F715634}

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T8659

Differential Revision: https://secure.phabricator.com/D13900
2015-08-15 07:28:56 -07:00
..
almanac Fix issue with almanac service type map keying 2015-07-07 13:21:04 -07:00
aphlict Return $this from setter methods 2015-07-06 22:53:43 +10:00
arcanist/conduit Remove remaining arcanist project code 2015-07-08 19:37:28 +10:00
audit Various linter fixes 2015-08-08 10:19:45 +10:00
auth Fix 'key'/'type' swap in email reset / one-time-login controller 2015-08-03 08:01:43 -07:00
badges Remove unused mailtag in badges 2015-08-13 18:23:03 -07:00
base Use PhutilClassMapQuery 2015-07-07 22:51:57 +10:00
cache Extend from Phobject 2015-06-15 18:02:27 +10:00
calendar Calendar list objects that are ghost events should link to a ghost event, not the parent 2015-08-03 07:01:42 -07:00
celerity Update Celerity for handleRequest 2015-08-10 09:08:21 -07:00
chatlog Update Chatlog for handleRequest 2015-07-31 09:14:44 -07:00
conduit Use PhutilClassMapQuery instead of PhutilSymbolLoader 2015-08-14 07:49:01 +10:00
config Use PhutilClassMapQuery instead of PhutilSymbolLoader 2015-08-14 07:49:01 +10:00
conpherence Various linter fixes 2015-08-11 22:36:55 +10:00
console Use PhutilClassMapQuery instead of PhutilSymbolLoader 2015-08-14 07:49:01 +10:00
countdown Add basic countdown timer to object list 2015-07-28 07:47:42 -07:00
daemon Use PhutilClassMapQuery instead of PhutilSymbolLoader 2015-08-14 07:49:01 +10:00
dashboard Use PhutilClassMapQuery instead of PhutilSymbolLoader 2015-08-14 07:49:01 +10:00
differential Use PhutilClassMapQuery instead of PhutilSymbolLoader 2015-08-14 07:49:01 +10:00
diffusion Use PhutilClassMapQuery instead of PhutilSymbolLoader 2015-08-14 07:49:01 +10:00
diviner Fix an issue with ClassMap handling of DivinerAtomizers 2015-08-15 06:59:18 -07:00
doorkeeper Use PhutilClassMapQuery instead of PhutilSymbolLoader 2015-08-14 07:49:01 +10:00
draft/storage Fix visiblity of LiskDAO::getConfiguration() 2015-01-14 06:54:13 +11:00
drydock Add harbormaster.createartifact 2015-08-15 07:28:56 -07:00
fact Update Facts for handleRequest 2015-07-27 09:12:35 -07:00
feed Use PhutilClassMapQuery instead of PhutilSymbolLoader 2015-08-14 07:49:01 +10:00
files Use PhutilClassMapQuery instead of PhutilSymbolLoader 2015-08-14 07:49:01 +10:00
flag Use PhutilClassMapQuery instead of PhutilSymbolLoader 2015-08-14 07:49:01 +10:00
fund Update Fund for handleProcess 2015-07-29 16:58:48 -07:00
harbormaster Add harbormaster.createartifact 2015-08-15 07:28:56 -07:00
help Update Help for handleRequest 2015-08-01 15:40:03 -07:00
herald Add basic Herald support to Ponder 2015-08-08 10:22:18 -07:00
home Various linter fixes 2015-08-11 22:36:55 +10:00
legalpad Share target filtering code in HeraldAction 2015-08-03 14:34:37 -07:00
lipsum Use PhutilClassMapQuery instead of PhutilSymbolLoader 2015-08-14 07:49:01 +10:00
macro Convert Macro to handleRequest 2015-07-27 09:04:08 -07:00
mailinglists/storage Put PhabricatorMetaMTAMailingList back to keep bin/storage adjust happy for now 2015-06-03 18:51:40 -07:00
maniphest Various linter fixes 2015-08-08 10:19:45 +10:00
meta Update Meta for handleRequest 2015-08-10 09:08:33 -07:00
metamta Consolidate outbound mail status in a new class 2015-08-14 04:31:42 -07:00
multimeter Merge branch 'master' into redesign-2015 2015-06-20 06:10:54 -07:00
notification Update Notifications for handleRequest 2015-08-04 09:32:56 -07:00
nuance Update Nuance for handleRequest 2015-07-31 09:14:33 -07:00
oauthserver [Redesign] PhabricatorApplicationSearchResultView 2015-06-19 11:46:20 +01:00
owners Move some PhabricatorSearchField subclasses 2015-07-06 22:52:05 +10:00
passphrase Various linter fixes 2015-08-11 22:36:55 +10:00
paste Add application search for Paste status 2015-08-08 09:46:21 -07:00
people Fix public/private profile edit note 2015-07-27 15:12:03 -07:00
phame Various linter fixes 2015-08-08 10:19:45 +10:00
phid Use PhutilClassMapQuery 2015-07-07 22:51:57 +10:00
phlux Transactions - make implementing TYPE_XXXX_POLICY transactions optional 2015-05-19 12:58:18 -07:00
pholio Make "Add Subscribers" and "Remove Subscribers" Herald actions modular 2015-08-03 14:33:22 -07:00
phortune Send correct result in Phortune Charge List 2015-08-05 13:40:44 -07:00
phpast Update XHPhast for handleRequest 2015-08-04 09:33:13 -07:00
phragment Mark some strings for translation 2015-06-09 23:06:52 +10:00
phrequent [Redesign] PhabricatorApplicationSearchResultView 2015-06-19 11:46:20 +01:00
phriction Modularize "Send an Email" Herald actions 2015-08-03 14:33:23 -07:00
phurl Fix missing mailtags in PHUrl 2015-07-24 21:30:16 -07:00
policy Use PhutilClassMapQuery instead of PhutilSymbolLoader 2015-08-14 07:49:01 +10:00
ponder Fix new Question in Ponder 2015-08-14 09:51:52 -07:00
project Various linter fixes 2015-08-11 22:36:55 +10:00
releeph Update Releeph Branch for handleProcess 2015-07-27 07:42:29 -07:00
remarkup/conduit phtize all the things 2015-05-22 21:16:39 +10:00
repository Link to Harbormaster build targets from the Daemon worker page 2015-08-10 14:15:19 -07:00
search Use PhutilClassMapQuery instead of PhutilSymbolLoader 2015-08-14 07:49:01 +10:00
settings Use PhutilClassMapQuery instead of PhutilSymbolLoader 2015-08-14 07:49:01 +10:00
slowvote Add mail/feed to Slowvote 2015-08-01 15:41:08 -07:00
spaces Group and order Herald fields 2015-07-16 14:13:13 -07:00
subscriptions Share target filtering code in HeraldAction 2015-08-03 14:34:37 -07:00
support/application Implement the getName method in PhabricatorApplication subclasses 2014-07-23 23:52:50 +10:00
system Extend from Phobject 2015-06-15 18:02:27 +10:00
tokens Badges v0.1 2015-07-22 13:37:20 -07:00
transactions Use PhutilClassMapQuery instead of PhutilSymbolLoader 2015-08-14 07:49:01 +10:00
typeahead Use PhutilClassMapQuery instead of PhutilSymbolLoader 2015-08-14 07:49:01 +10:00
uiexample Use PhutilClassMapQuery instead of PhutilSymbolLoader 2015-08-14 07:49:01 +10:00
xhprof Update XHProf for handleRequest 2015-08-01 15:41:57 -07:00