Page MenuHomePhabricator

Provide a basic search engine for builds
ClosedPublic

Authored by yelirekim on Jul 31 2016, 1:02 PM.
Tags
None
Referenced Files
F14057856: D16347.diff
Sun, Nov 17, 7:21 AM
F14031861: D16347.id39314.diff
Sat, Nov 9, 12:05 PM
F14031860: D16347.id39313.diff
Sat, Nov 9, 12:05 PM
F14031859: D16347.id39312.diff
Sat, Nov 9, 12:05 PM
F14031858: D16347.id.diff
Sat, Nov 9, 12:05 PM
F14019697: D16347.diff
Tue, Nov 5, 11:28 PM
F14003429: D16347.id39312.diff
Sat, Oct 26, 6:07 AM
F13980731: D16347.diff
Oct 19 2024, 12:22 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
Branch
build_search (branched from master)
Lint
Lint Passed
Unit
Tests Passed
Build Status
Buildable 13192
Build 16893: Run Core Tests
Build 16892: arc lint + arc unit

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.