Unify build and step status codes
[?]
Mar 9, 2016, 2:15 PM
UNVMKJV5VX74A2MLS42AP3SY25HKQSH4S27Y44QFKRQRKPU2MV6QCDependencies
- [2]
BCDHO4OUSet propagatedFrom for cached failed build steps - [3]
VQISTKOPhydra-queue-runner: Use substitutes - [4]
HH3LID6LRe-implement log size limits - [5]
26PYNDXVRemove the errorMsg column from the Builds table - [6]
FITVNQ2SKeep track of the time we spend copying to/from build machines - [7]
ZILILXXK* Allow scheduled builds to be cancelled. They're not removed from - [8]
2GUAKGTBFix indentation of build.tt - [9]
MSIHMO45Tweak build steps - [10]
PMNWRTGJAdd multiple output support - [11]
NKQOEVVPGet rid of "will retry" messages after "maybe cancelling..." - [12]
U2X3Y53Gmake sure status images always display for a list of builds - [13]
SL3WSRAChydra-queue-runner: Limit memory usage - [14]
NQ2X3Y4KDon't render machine name if not applicable to step - [15]
HPEG2RHVMerge the BuildResultInfo table into the Builds table - [16]
UQQ4IL55Add a error type for "unsupported system type" - [17]
KBZHIGLGRecord the machine used for a build step - [18]
T5BIOVJEAdd support for tracking custom metrics - [19]
CLJQCY2X* Store info about all the build actions and allow them to be - [20]
WYN733ST* Store build duration, handle cached builds. - [21]
BRAESISHWarn if PostgreSQL appears stalled - [22]
FQQRJUO4Mark builds as busy - [23]
OCZ4LSGGAutomatically retry aborted builds - [24]
GJV2J5HXPool local store connections - [25]
HHOMBU7Ghydra-queue-runner: Implement timeouts - [26]
MHVIT4JYSplit hydra-queue-runner.cc more - [27]
GS4SFHCPtemplates: Use uri_for to reference static paths. - [28]
7LFMSF4KDon't show "localhost" as machine for cached failed build steps - [29]
3SQCOHZN* minor performance tweaks - [30]
6KIJX24RGet rid of unnecessary [%- and -%] tags - [31]
NAYQT2GThydra-queue-runner: Use cmdBuildDerivation - [32]
5DSF5KWY* Perl sucks. "getBuildLog $drvPath" doesn't mean the same as - [33]
N4IROACVMove buildRemote() into State - [34]
HJOEIMLRRefactor - [35]
E5DMQRPORemove unnecessary whitespace in the HTML output - [36]
OG3Z3QGCNamespace cleanup - [37]
62MQPRXCPass null values to libpqxx properly - [38]
T6KISLR6Fix indentation - [39]
PH3DFCNURender machine correctly if it doesn't contain @ - [40]
24BMQDZAStart of single-process hydra-queue-runner - [41]
37R34XJO* Negative caching: don't perform a build if a dependency already - [42]
XBLTCIUZShow build status 2 and 5 in the same way - [43]
TX7Q4RASAdd page showing latest build steps - [44]
BD3GRK4B* Get rid of "positive failures" and separate log phases. - [45]
JGLE5BRNAdd separate build step status codes for cached failures and timeouts - [46]
TPNHTE5VRemove obsolete Builds columns and provide accurate "Running builds" - [47]
3ZCEPLNO - [*]
J5UVLXOK* Start of a basic Catalyst web interface. - [*]
IK53RV4V - [*]
N22GPKYT* Put info about logs / build products in the DB. - [*]
D5QIOJGP* Move everything up one directory.
Change contents
- replacement in src/hydra-queue-runner/builder.cc at line 119
stepNr = createBuildStep(txn, result.startTime, build, step, machine->sshName, bssBusy);stepNr = createBuildStep(txn, result.startTime, build, step, machine->sshName, bsBusy); - replacement in src/hydra-queue-runner/builder.cc at line 174
stepNr, machine->sshName, bssAborted, result.errorMsg);stepNr, machine->sshName, bsAborted, result.errorMsg); - replacement in src/hydra-queue-runner/builder.cc at line 225
build->id, stepNr, machine->sshName, bssSuccess);build->id, stepNr, machine->sshName, bsSuccess); - edit in src/hydra-queue-runner/builder.cc at line 317[7.10597]→[7.10597:10722](∅→∅),[7.10722]→[4.573:664](∅→∅),[4.664]→[7.10722:10806](∅→∅),[7.10722]→[7.10722:10806](∅→∅)
BuildStepStatus buildStepStatus =result.status == BuildResult::TimedOut ? bssTimedOut :result.status == BuildResult::LogLimitExceeded ? bssLogLimitExceeded :result.canRetry() ? bssAborted :bssFailed; - replacement in src/hydra-queue-runner/builder.cc at line 338
buildStepStatus, result.errorMsg, build == build2 ? 0 : build->id);buildStatus, result.errorMsg, build == build2 ? 0 : build->id); - replacement in src/hydra-queue-runner/builder.cc at line 343
build->id, stepNr, machine->sshName, buildStepStatus, result.errorMsg);build->id, stepNr, machine->sshName, buildStatus, result.errorMsg); - replacement in src/hydra-queue-runner/hydra-queue-runner.cc at line 205
((int) bssAborted)((int) bsAborted) - replacement in src/hydra-queue-runner/hydra-queue-runner.cc at line 223
const std::string & machine, BuildStepStatus status, const std::string & errorMsg, BuildID propagatedFrom)const std::string & machine, BuildStatus status, const std::string & errorMsg, BuildID propagatedFrom) - replacement in src/hydra-queue-runner/hydra-queue-runner.cc at line 233
(status == bssBusy ? 1 : 0)(status == bsBusy ? 1 : 0) - replacement in src/hydra-queue-runner/hydra-queue-runner.cc at line 236
((int) status, status != bssBusy)((int) status, status != bsBusy) - replacement in src/hydra-queue-runner/hydra-queue-runner.cc at line 239
(startTime, startTime != 0 && status != bssBusy)(startTime, startTime != 0 && status != bsBusy) - replacement in src/hydra-queue-runner/hydra-queue-runner.cc at line 252
BuildID buildId, int stepNr, const std::string & machine, BuildStepStatus status,BuildID buildId, int stepNr, const std::string & machine, BuildStatus status, - replacement in src/hydra-queue-runner/queue-monitor.cc at line 208
createBuildStep(txn, 0, build, r, "", bssCachedFailure, "", propagatedFrom);createBuildStep(txn, 0, build, r, "", bsCachedFailure, "", propagatedFrom); - replacement in src/hydra-queue-runner/state.hh at line 29
bsDepFailed = 2,bsDepFailed = 2, // builds only - replacement in src/hydra-queue-runner/state.hh at line 31
bsFailedWithOutput = 6,bsFailedWithOutput = 6, // builds only - edit in src/hydra-queue-runner/state.hh at line 33
bsCachedFailure = 8, // steps only - edit in src/hydra-queue-runner/state.hh at line 36
bsBusy = 100, // not stored - edit in src/hydra-queue-runner/state.hh at line 38[7.1746]→[7.1746:1843](∅→∅),[7.1843]→[7.2362:2388](∅→∅),[7.2388]→[7.1843:1867](∅→∅),[7.1843]→[7.1843:1867](∅→∅),[7.1867]→[4.826:856](∅→∅),[4.856]→[7.1867:1919](∅→∅),[7.1867]→[7.1867:1919](∅→∅)
typedef enum {bssSuccess = 0,bssFailed = 1,bssAborted = 4,bssTimedOut = 7,bssCachedFailure = 8,bssUnsupported = 9,bssLogLimitExceeded = 10,bssBusy = 100, // not stored} BuildStepStatus; - replacement in src/hydra-queue-runner/state.hh at line 377
const std::string & machine, BuildStepStatus status, const std::string & errorMsg = "",const std::string & machine, BuildStatus status, const std::string & errorMsg = "", - replacement in src/hydra-queue-runner/state.hh at line 382
const std::string & machine, BuildStepStatus status, const std::string & errorMsg = "",const std::string & machine, BuildStatus status, const std::string & errorMsg = "", - replacement in src/root/build.tt at line 58
[% ELSIF step.status == 4 %][% ELSIF step.status == 3 %] - replacement in src/root/common.tt at line 198
[% ELSIF buildstatus == 2 || buildstatus == 5 %][% ELSIF buildstatus == 2 %] - replacement in src/root/common.tt at line 227
[% ELSIF buildstatus == 2 || buildstatus == 5 %][% ELSIF buildstatus == 2 %] - replacement in src/sql/hydra.sql at line 183
-- Status codes:-- Status codes used for builds and steps: - replacement in src/sql/hydra.sql at line 185[7.4715]→[7.4715:4805](∅→∅),[7.4805]→[5.143:170](∅→∅),[5.170]→[7.3108:3171](∅→∅),[7.4847]→[7.3108:3171](∅→∅),[7.3171]→[7.48:126](∅→∅),[7.126]→[7.19705:19738](∅→∅),[7.19738]→[7.1839:1862](∅→∅)
-- 1 = build of this derivation failed-- 2 = build of some dependency failed-- 3 = other failure-- 4 = build cancelled (removed from queue; never built)-- 5 = build not done because a dependency failed previously (obsolete)-- 6 = failure with output-- 7 = timed out-- 1 = regular Nix failure (derivation returned non-zero exit code)-- 2 = build of a dependency failed [builds only]-- 3 = build or step aborted due to misc failure-- 4 = build cancelled (removed from queue; never built) [builds only]-- 5 = [obsolete]-- 6 = failure with output (i.e. $out/nix-support/failed exists) [builds only]-- 7 = build timed out-- 8 = cached failure [steps only; builds use isCachedBuild] - replacement in src/sql/hydra.sql at line 257[7.7403]→[7.906:1051](∅→∅),[7.1051]→[7.1053:1090](∅→∅),[7.1090]→[4.1239:1271](∅→∅),[7.1090]→[7.1051:1078](∅→∅),[4.1271]→[7.1051:1078](∅→∅),[7.1051]→[7.1051:1078](∅→∅)
-- Status codes:-- 0 = succeeded-- 1 = failed normally-- 4 = aborted-- 7 = timed out-- 8 = cached failure-- 9 = unsupported system type-- 10 = log limit exceededstatus integer,status integer, -- see Builds.buildStatus - file addition: upgrade-46.sql[52.3004]
-- Unify Builds and BuildSteps status codes.update BuildSteps set status = 3 where status = 4;-- Get rid of obsolete status code 5.update Builds set isCachedBuild = 1, buildStatus = 2 where buildStatus = 5;