Add an action to cancel all builds in a jobset eval
[?]
Oct 4, 2013, 1:40 PM
UOINKJ2JBCRTZPFTAXDPRJOEUWWPJ43IGVWLRIRLIGHLBMWDOGDQCDependencies
- [2]
DETQRBBRclear_queue_non_current: Don't use isCurrent - [3]
GEADFVZ5hydra-queue-runner: Improved scheduling - [4]
6HWHYPSWAdd an action menu to evaluations - [5]
Z6MDQIGO* A quick (non-Web 2.0) interface to manually add builds to a release. - [6]
OD5FSS5A* Quick hack to allow viewing of dependency graphs (via nix-store -q - [7]
MOX7XJ2EMerge the BuildSchedulingInfo table into the Builds table - [8]
PMNWRTGJAdd multiple output support - [9]
YLMZLL2UFix a reference to BuildResultInfo - [10]
HPEG2RHVMerge the BuildResultInfo table into the Builds table - [11]
ZILILXXK* Allow scheduled builds to be cancelled. They're not removed from - [12]
3XTHEUMP* Implemented the clone feature. - [13]
GJFYEU3S* Nix now stores logs by default as bzip2, make sure the build page uncompresses before showing. - [14]
R6B5CAFFLet Builds.timestamp refer to the time the build was added - [15]
A52HEFHQ* Allow builds to be restarted (if they failed with a transient error, - [16]
RXSEJG7WDo not delete builds when clearing the queue. Fixes #8. - [17]
BDSD2JLV* Speed up manifest generation. - [18]
B7IDAXTZAdmin controller: Use PathPart, not Path - [19]
LZVO64YGMerge in the first bits of the API work - [20]
AFTXA575* $HYDRA_DATA environment variable. - [21]
LBNVQXUB* Build the /build stuff in a separate controller. - [22]
NEWDDAOF* Allow users to change the value of a build's "keep" flag, which - [23]
BEKA3TMMHydra/25: At job pages, show the hash of the output - [24]
2T42QGZD* Register builds as GC roots so they don't get deleted. - [25]
LZO3C2KI* Hack around those SQLite timeouts: just retry the transaction. - [26]
PZL3SZM3Give every page a consistent title - [27]
5NSQUYBSClear failed builds etc.: Redirect back to the referrer - [28]
OSVLMLCQhydra: factored out build restart and - [29]
SKQXOQ7Thydra: fixed missing argument to restartbuild function - [30]
OEPUOUNBUsing twitter bootstrap for more consistent looks for Hydra - [31]
FPK5LF53* Put the project-related actions in a separate controller. Put the - [32]
S5GCSCNSUpdate bootstrap to 2.3.1 - [33]
67NFGL7Dadd links in admin page to clear queue (all non-running builds, and all non-running old (non-current) builds) - [34]
WRIU3S5E* UI for cloning builds (not functional yet). - [35]
3PNG7NIBRemove trailing whitespace - [36]
JAH3UPWASupport revision control systems via plugins - [37]
JARRBLZDBootstrapify the Hydra forms (except the project and jobset edit pages) - [*]
ZWCTAZGLadded newsitems, added some admin options to clear various caches. - [*]
U4TD3AIQAdd support for viewing jobset evaluations - [*]
T273UOB7Support obtaining the contents of an evaluation as a channel - [*]
2GK5DOU7* Downloading closures. - [*]
QL55ECJ6- adapted ui for hydra, more in line with nixos.org website
Change contents
- replacement in src/lib/Hydra/Controller/Admin.pm at line 37
my $time = time();$c->model('DB::Builds')->search(my $builds = $c->model('DB::Builds')->search( - replacement in src/lib/Hydra/Controller/Admin.pm at line 40
}, {})->update({ finished => 1, buildstatus => 4, starttime => $time, stoptime => $time });});my $n = cancelBuilds($c->model('DB')->schema, $builds);$c->flash->{successMsg} = "$n builds have been cancelled."; - edit in src/lib/Hydra/Controller/Build.pm at line 63
$c->stash->{flashMsg} = $c->flash->{buildMsg}; - replacement in src/lib/Hydra/Controller/Build.pm at line 450
$c->flash->{buildMsg} = "Build has been restarted.";$c->flash->{successMsg} = "Build has been restarted."; - edit in src/lib/Hydra/Controller/Build.pm at line 458
- edit in src/lib/Hydra/Controller/Build.pm at line 459
- replacement in src/lib/Hydra/Controller/Build.pm at line 460[5.618]→[5.618:619](∅→∅),[5.619]→[5.43:85](∅→∅),[5.85]→[5.661:714](∅→∅),[5.661]→[5.661:714](∅→∅),[5.714]→[5.1523:1572](∅→∅),[5.1572]→[5.779:954](∅→∅),[5.779]→[5.779:954](∅→∅),[5.954]→[5.698:725](∅→∅),[5.725]→[5.0:24](∅→∅),[5.954]→[5.0:24](∅→∅),[5.24]→[5.726:765](∅→∅),[5.765]→[5.82:147](∅→∅),[5.82]→[5.82:147](∅→∅),[5.147]→[5.766:831](∅→∅),[5.147]→[5.1202:1218](∅→∅),[5.831]→[5.1202:1218](∅→∅),[5.1202]→[5.1202:1218](∅→∅),[5.1259]→[5.1259:1325](∅→∅),[5.1325]→[5.625:626](∅→∅)
txn_do($c->model('DB')->schema, sub {error($c, "This build cannot be cancelled.")if $build->finished || $build->busy;# !!! Actually, it would be nice to be able to cancel busy# builds as well, but we would have to send a signal or# something to the build process.my $time = time();$build->update({ finished => 1, busy => 0, iscachedbuild => 0, buildstatus => 4 # = cancelled, starttime => $time, stoptime => $time});});$c->flash->{buildMsg} = "Build has been cancelled.";my $n = cancelBuilds($c->model('DB')->schema, $c->model('DB::Builds')->search({ id => $build->id }));error($c, "This build cannot be cancelled.") if $n != 1;$c->flash->{successMsg} = "Build has been cancelled."; - replacement in src/lib/Hydra/Controller/Build.pm at line 483
$c->flash->{buildMsg} =$c->flash->{successMsg} = - replacement in src/lib/Hydra/Controller/Build.pm at line 513
$c->flash->{buildMsg} = "Build added to project <tt>$releaseName</tt>.";$c->flash->{successMsg} = "Build added to project <tt>$releaseName</tt>."; - replacement in src/lib/Hydra/Controller/Build.pm at line 590
$c->flash->{buildMsg} = "Build " . $newBuild->id . " added to the queue.";$c->flash->{successMsg} = "Build " . $newBuild->id . " added to the queue."; - edit in src/lib/Hydra/Controller/JobsetEval.pm at line 155
sub cancel : Chained('eval') PathPart('cancel') Args(0) {my ($self, $c) = @_;requireProjectOwner($c, $c->stash->{eval}->project);my $n = cancelBuilds($c->model('DB')->schema, $c->stash->{eval}->builds);$c->flash->{successMsg} = "$n builds have been cancelled.";$c->res->redirect($c->uri_for($c->controller('JobsetEval')->action_for('view'), $c->req->captures));} - replacement in src/lib/Hydra/Helper/Nix.pm at line 24
getTotalShares);getTotalSharescancelBuilds); - edit in src/lib/Hydra/Helper/Nix.pm at line 47
my $res; - replacement in src/lib/Hydra/Helper/Nix.pm at line 50
$db->txn_do($coderef);$res = $db->txn_do($coderef); - replacement in src/lib/Hydra/Helper/Nix.pm at line 52
last if !$@;return $res if !$@; - edit in src/lib/Hydra/Helper/Nix.pm at line 547
sub cancelBuilds($$) {my ($db, $builds) = @_;return txn_do($db, sub {$builds = $builds->search({ finished => 0, busy => 0 });my $n = $builds->count;my $time = time();$builds->update({ finished => 1,, iscachedbuild => 0, buildstatus => 4 # = cancelled, starttime => $time, stoptime => $time});return $n;});} - edit in src/root/jobset-eval.tt at line 45
<li><a href="[% c.uri_for(c.controller('JobsetEval').action_for('cancel'), [eval.id]) %]">Cancel all scheduled builds</a></li> - replacement in src/root/topbar.tt at line 94
title = "Clear all non-running old builds from queue"title = "Clear scheduled non-current builds from queue"