Commit Graph

173 Commits

Author SHA1 Message Date
f1e75c8bff Move evaluation errors from evaluations to EvaluationErrors, a new table
DBIx likes to eagerly select all columns without a way to really tell
it so. Therefore, this splits this one large column in to its own
table.

I'd also like to make "jobsets" use this table too, but that is on hold
to stop the bleeding caused by the extreme amount of traffic this is
causing.
2021-02-01 21:33:14 -05:00
54b8cb188e perl: jobsetevals -> jobset via by jobset_id
Frankly, this was suspiciously little work.
2021-01-26 13:51:39 -05:00
c64c4aac4f jobset page: render error labels per eval 2021-01-21 17:08:02 -05:00
68a59f34a0 Remove tabs
(cherry picked from commit 5b731004da)
2020-03-31 22:18:58 +02:00
73694087a0 Use the stopsign as icon for timeouts and exceeded log-limits
When I browse failed builds in a jobset-eval on Hydra, I regularly
mistake actual build-failures with temporary issues like timeouts (that
probably disappear at the next eval).

To prevent this kind of issue, I figured that using the stopsign-svg for
builds with timeouts or exceeded log-limits is a reasonable choice for
the following reasons:

* A user can now distinguish between actual build-errors (like
  compilation-failures or oversized outputs) and (usually) temporary issues
  (like a bloated log or a timeout).

* The stopsign is also used for aborted jobs that are shown in a
  different tab and can't be confused with timeouts for that reason.
2020-03-21 21:08:33 +01:00
ff64583d07 Add evaluation error status to evaluation time on project jobset tab. 2019-05-06 14:08:32 +02:00
21a4433fec Merge branch 'master' into job_headers 2019-03-17 17:16:37 -04:00
a16d0c7d6b Makes user-facing dates local when possible
Also ensures it makes available the hydra timezone in the title of the
dates.
2019-01-22 17:53:46 -05:00
dfce2ad69a Use rowspans to align Jobs reference in evaluations rendering 2018-12-16 22:26:44 -08:00
0e7593a4a1 Remove blank lines, consistent attribute quoting, use svg for delta header, column sizes. 2018-12-15 22:25:02 -08:00
5716e69767 Add job status headers (web useability for red/green colorblindness). 2018-12-15 11:58:26 -08:00
fec895a642 hydra-server: Support logs in S3 2017-04-05 17:55:56 +02:00
8bb36e79bd Support testing build determinism
Builds can now specify the attribute "isDeterministic = true" to tell
Hydra to build with build-repeat > 0. If there is a mismatch between
rounds, the step / build fails with a suitable status.

Maybe this should be a meta attribute, but that makes it invisible to
hydra-queue-runner, and it seems reasonable to make a claim of
mandatory determinism part of the derivation (since e.g. enabling this
flag should trigger a rebuild).
2016-12-06 17:46:06 +01:00
95aa1f0590 Merge pull request from grahamc/images
Update build images to be more friendly to users with color blindness.
2016-11-07 14:20:17 +01:00
6f6562bc5f Update build images to be more friendly to users with color blindness.
Closes 
2016-11-07 06:53:27 -05:00
9072adece8 Fix broken logic for showing/hiding jobsets 2016-11-01 13:03:14 +01:00
a2be29377e Hide hidden jobsets for project admins by default
This unclutters project pages.

Fixes .
2016-10-31 11:40:36 +01:00
3586bf28e4 Build status: copy the alt attribute to the title attribute for on-hover tool tips. () 2016-10-23 13:21:21 +02:00
32adc53070 Add tooltips to metrics showing the exact value of the data point 2016-03-25 14:32:36 +01:00
7a72f64e5e Move chart code to common.js 2016-03-25 13:33:10 +01:00
dc2010eafc Fix rendering of metrics with dots in their name 2016-03-25 13:24:43 +01:00
4151be7e69 Make the output size limit configurable
The maximum output size per build step (as the sum of the NARs of each
output) can be set via hydra.conf, e.g.

  max-output-size = 1000000000

The default is 2 GiB.

Also refactored the build error / status handling a bit.
2016-03-09 17:00:09 +01:00
80ff78b1b6 Unify build and step status codes
Also remove the obsolete status code 5 from the database.
2016-03-09 15:30:43 +01:00
4d1816b152 Remove obsolete Builds columns and provide accurate "Running builds"
This removes the "busy", "locker" and "logfile" columns, which are no
longer used by the queue runner. The "Running builds" page now only
shows builds that have an active build step.
2015-10-27 15:37:17 +01:00
8e8e31ce86 Re-implement log size limits
The old queue runner already had this. However, we now store "log
limit exceeded" as a separate status code in the database.
2015-10-06 17:35:08 +02:00
90c462a222 Merge remote-tracking branch 'origin/master' into build-ng
Conflicts:
	hydra-module.nix
2015-08-04 14:30:22 +02:00
4d26546d3c Add support for tracking custom metrics
Builds can now emit metrics that Hydra will store in its database and
render as time series via flot charts. Typical applications are to
keep track of performance indicators, coverage percentages, artifact
sizes, and so on.

For example, a coverage build can emit the coverage percentage as
follows:

  echo "lineCoverage $pct %" > $out/nix-support/hydra-metrics

Graphs of all metrics for a job can be seen at

  http://.../job/<project>/<jobset>/<job>#tabs-charts

Specific metrics are also visible at

  http://.../job/<project>/<jobset>/<job>/metric/<metric>

The latter URL also allows getting the data in JSON format (e.g. via
"curl -H 'Accept: application/json'").
2015-07-31 00:57:30 +02:00
36cbdd1bd8 common.tt: Properly generate URL for /api/scmdiff.
If Hydra isn't hosted on https://example.com/ but something like
https://example.com/hydra/, the URL for /api/scmdiff would have ended up
on /api/scmdiff rather than /hydra/api/scmdiff.

This is because we didn't use the URI resolver from the controller,
hence we're using it now to build up the whole URL including the query
string.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2015-07-22 12:00:15 +02:00
62b1b095ad Handle IP addresses as machine names 2015-07-21 01:54:24 +02:00
b09f7e0989 Add page showing latest build steps 2015-07-10 15:41:57 +02:00
dd4f6e695e Merge branch 'master' into build-ng 2015-07-06 17:17:51 +02:00
ccf6e6062c Store full Mercurial revision hashes 2015-07-06 17:17:17 +02:00
11be780948 Handle failure with output 2015-06-17 17:11:42 +02:00
745efce828 hydra-queue-runner: Implement timeouts
Also, keep track of timeouts in the database as a distinct build
status.
2015-06-17 13:32:33 +02:00
5019fceb20 Add a error type for "unsupported system type" 2015-06-15 15:07:04 +02:00
aec0a35114 Fix duplicate row-link 2015-03-24 14:31:27 +01:00
125dd80dd8 Respect hideJobset in renderBuildListBody. 2015-03-24 08:38:40 +00:00
cad82493b0 Restore build and eval IDs. 2015-03-23 15:11:38 +00:00
522bcea8fc Hide build IDs from build lists
Like eval IDs, build IDs don't convey useful information.

Also, make the job name link to the build rather than the job. When
people click on a build, they expect to go to the build page, not the
job page.
2015-02-26 13:28:14 +01:00
62805dd73c Queue: Remove the scheduling priority
Scheduling is mostly based on jobset shares these days. So showing and
sorting by priority just wastes space and gives the incorrect
impression that Hydra executes builds in the order shown on the queue
page.
2015-02-26 13:16:25 +01:00
f835ae492f Likewise remove eval IDs from eval lists 2015-02-26 13:06:53 +01:00
c04c8c2bf1 Jobset job tab: Show eval date rather than eval ID
Eval IDs carry no useful information, so it's better to show the date
of the eval. If the date is recent, a relative date is given (e.g. "3h
ago").
2015-02-26 13:01:01 +01:00
fa1e043526 Make input value wider
Fixes .
2015-02-25 17:42:47 +01:00
adc72d2409 Record which build a failed build step was propagated from 2015-02-25 16:42:32 +01:00
8de15ce38d make sure status images always display for a list of builds 2014-12-03 13:54:22 +01:00
0d28e9372b Remove dead code 2014-11-19 14:59:36 +01:00
aad3a11eca Build page: Show output / closure sizes 2014-10-07 18:12:00 +02:00
52ec8abf97 Update flot to 0.8.3 2014-10-07 13:35:31 +02:00
dfe5325490 Scale the Y axis to the visible points 2014-10-07 13:10:10 +02:00
1b12daa032 Move the build time chart to the job page 2014-10-07 12:59:09 +02:00