Page MenuHomePhabricator

Provide a basic search engine for builds
ClosedPublic

Authored by yelirekim on Jul 31 2016, 1:02 PM.
Tags
None
Referenced Files
Unknown Object (File)
Mon, Nov 25, 2:43 PM
Unknown Object (File)
Thu, Nov 21, 12:45 PM
Unknown Object (File)
Thu, Nov 21, 10:46 AM
Unknown Object (File)
Nov 17 2024, 7:21 AM
Unknown Object (File)
Nov 9 2024, 12:05 PM
Unknown Object (File)
Nov 9 2024, 12:05 PM
Unknown Object (File)
Nov 9 2024, 12:05 PM
Unknown Object (File)
Nov 9 2024, 12:05 PM
Subscribers

Details

Summary

This supports a few basic use cases that aren't served by the buildable search engine:

  • I'm trying to discover when the last time that this particular build plan failed was.
  • I want to know if any builds have deadlocked.
  • At a glance, I'm more interested in what build plans are running, not which buildables are being built. This is more often than not the case.
Test Plan

Screen Shot 2016-07-31 at 8.50.11 AM.png (1×2 px, 451 KB)

Diff Detail

Repository
rP Phabricator
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

yelirekim retitled this revision from to Provide a basic search engine for builds.
yelirekim updated this object.
yelirekim edited the test plan for this revision. (Show Details)
epriestley added a reviewer: epriestley.
epriestley added inline comments.
src/applications/harbormaster/query/HarbormasterBuildSearchEngine.php
74–82

This is now less-preferred than using HandlePools -- just move this logic to renderResultList() and do it as:

$handles = $viewer->loadHandles($all_those_phids);

This has the same runtime performance but makes it easier to split logic apart and push it down into dedicated View classes, etc.

src/applications/harbormaster/storage/build/HarbormasterBuild.php
78

Maaaybe consider returning dictionaries here with an explicit 'name' key, so we can add 'icon', 'color', etc., and drive getBuildStatusIcon() and such from it.

This revision is now accepted and ready to land.Jul 31 2016, 1:08 PM
yelirekim edited edge metadata.

I was thinking of moving the status stuff into a constants class too?

This revision was automatically updated to reflect the committed changes.