Page MenuHomePhabricator

Rough cut of DrydockRepositoryOperation
ClosedPublic

Authored by epriestley on Oct 13 2015, 4:39 PM.
Tags
None
Referenced Files
Unknown Object (File)
Thu, Mar 28, 4:32 AM
Unknown Object (File)
Wed, Mar 20, 10:27 PM
Unknown Object (File)
Sun, Mar 17, 7:25 PM
Unknown Object (File)
Mon, Mar 4, 4:39 PM
Unknown Object (File)
Thu, Feb 29, 1:15 AM
Unknown Object (File)
Feb 17 2024, 8:05 PM
Unknown Object (File)
Feb 17 2024, 8:05 PM
Unknown Object (File)
Feb 17 2024, 8:05 PM
Subscribers
Tokens
"Love" token, awarded by avivey."Baby Tequila" token, awarded by yelirekim.

Details

Summary

Ref T182. This doesn't do anything interesting yet and is mostly scaffolding, but here's roughly the workflow. From previous revision, you can configure "Repository Automation" for a repository:

Screen Shot 2015-10-13 at 9.35.22 AM.png (131×1 px, 16 KB)

If it's configured, a new "Land Revision" button shows up:

Screen Shot 2015-10-13 at 9.34.07 AM.png (345×486 px, 33 KB)

Once you click it you get a big warning dialog that it won't work, and then this shows up at the top of the revision (completely temporary/placeholder UI, some day a nice progress bar or whatever):

Screen Shot 2015-10-13 at 9.36.31 AM.png (328×1 px, 43 KB)

If you're lucky, the operation eventually sort of works:

Screen Shot 2015-10-13 at 9.37.40 AM.png (629×1 px, 108 KB)

It only runs git show right now, doesn't actually do any writes or anything.

Test Plan
  • Clicked "Land Revision".
  • Watched phd debug task.
  • Saw it log git show to output.
  • Verified operation success in UI (by fiddling URL, no way to get there normally yet).

Diff Detail

Repository
rP Phabricator
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

epriestley retitled this revision from to Rough cut of DrydockRepositoryOperation.
epriestley updated this object.
epriestley edited the test plan for this revision. (Show Details)
epriestley added a reviewer: chad.
src/applications/drydock/worker/DrydockRepositoryOperationUpdateWorker.php
49–55

As I think about it, this isn't necessarily true: we could have a limit of 1 working copy, with two merges in queue, and the second merge might lease it and then wait for the first operation indefinitely.

I'll tweak the comment -- still fine conceptually, we'd just have to do the sequencing a little earlier. It normally costs ~1 second to grab a lease so we aren't losing much by not being aggressive about leasing.

  • Fix hypotehtical comment to avoid hypothetical race.
chad edited edge metadata.
This revision is now accepted and ready to land.Oct 13 2015, 7:07 PM
This revision was automatically updated to reflect the committed changes.