Commit Graph

3075 Commits

Author SHA1 Message Date
6655ada236 Serve raw uncompressed logs directly 2013-08-30 18:11:03 +00:00
fd7e37ef89 Try harder to find build logs
Due to the fixed-output derivation hashing scheme, there can be
multiple derivations of the same output path.  But build logs are
indexed by derivation path.  Thus, we may not be able to find the
log of a build or build step using its derivation.  So as a fallback,
Hydra now looks for other derivations with the same output paths.
2013-08-30 13:53:25 +00:00
559a98cfee Use a different icon for aborted builds 2013-08-28 17:40:51 +02:00
2f7071ee9d Tabify the eval page
The different types of types (new, removed, newly failing, and so
on) now each have their own tab.
2013-08-28 17:40:51 +02:00
07747b7e88 Allow filtering jobs in eval pages 2013-08-28 17:40:51 +02:00
d0bcaa6284 Allow comparing an eval against the jobset one day/week/month before 2013-08-28 17:40:51 +02:00
ccc09c565e Sort jobsets by name 2013-08-28 17:40:51 +02:00
58a6fdc5ed Remove the job status pages
They're mostly redundant since there is a faster "jobs" tab on
the jobset pages now.  The only thing the latter lacks is the
ability to see status change times, but those are quite expensive
to compute, and are visible on build pages if you really need them.
2013-08-28 17:40:51 +02:00
42c4ef856f Fix incorrect removed jobs in eval pages
PostgreSQL and Perl have different sort orders, in particular when
comparing job names such as "aspell.x86_64-linux" and
"aspellDicts.cs.i686-freebsd".  This confused the evaluation
comparison code, causing some jobs to appear as "removed".
So now we do all the sorting in Perl.

Fixes .
2013-08-28 17:40:50 +02:00
d886ff9973 Integrate the "Job status" and "All jobs" tabs
The job status tabs now has a toggle to show inactive jobs, rendering
the "All jobs" tab redundant.
2013-08-28 17:40:50 +02:00
9002b69c2d By default, show the first 250 jobs only
This is particularly useful for the Nixpkgs jobsets, which now have
~24K jobs.
2013-08-28 17:40:50 +02:00
10d959a9ff Show visual feedback that the filter is being applied 2013-08-28 17:40:50 +02:00
11acf0be28 Load a tab only once 2013-08-28 17:40:50 +02:00
410060ec8a Jobset page: Add a new tab to show job status in a matrix 2013-08-28 17:40:50 +02:00
82e073d043 Show build status 2 and 5 in the same way
(Status 5 is obsolete.)
2013-08-28 17:40:50 +02:00
e69c7ac360 "limit" -> "rows" 2013-08-28 17:40:50 +02:00
7685596aa8 Transpose the aggregate constituents table
This way, it grows vertically rather than horizontally.  Horizontal
may be more "logical", but this is more practical.
2013-08-28 17:40:50 +02:00
7725038821 On aggregate job pages, show a matrix showing all the constituent builds 2013-08-28 17:40:50 +02:00
bf42392fe4 Fix typo. 2013-08-27 15:12:41 +02:00
a57957df84 Handle job aliases in AggregateConstituents
Aggregate constituents are derivations.  However there can be multiple
builds in an evaluation that have the same derivation, i.e. they can
alias each other (e.g. "emacs", "emacs24" and "emacs24Packages.emacs"
in Nixpkgs).  Previously we picked a build arbitrarily for the
AggregateConstituents table.  Now we pick the one with the shortest
name (e.g. "emacs").
2013-08-27 11:48:02 +02:00
a98075f386 HipChat notification: do not include latest commits of all inputs in 'who-broke-the-build' list. Use only committers from inputs that have actually changed since previous build. 2013-08-26 11:06:10 +00:00
9a9b798939 Work around 9P corruption on 32-bit
On 32-bit, Linux 3.4, and if the memory size is bigger than a certain
value, starting the stage 2 init script fails with "Exec format error"
because the 9P filesystem is returning garbage.  No such problem with
Linux 3.10.

http://hydra.nixos.org/build/5737226
2013-08-21 15:10:40 +02:00
02cba75610 Add an action to download a specific output of a build as a .nar.bz2
E.g. http://hydra/build/3515983/output/out downloads the output named
"out" as a bzip2-compressed NAR.
2013-08-21 14:30:38 +02:00
fda9b66dc7 Doh 2013-08-20 17:37:15 +02:00
edb88ef452 Remove unused ActiveJobs source 2013-08-20 15:22:46 +02:00
14e418cafa Don't show bogus last-checked times 2013-08-16 18:26:01 +02:00
6264995198 Remove the jobs status page
The per-system presentation doesn't make much sense any more given
issue .  It should be replaced by (say) a grid showing each job per
evaluation.
2013-08-16 17:16:15 +02:00
e54c361a95 Remove per-platform links from the job page
Having different builds within a job is obsolete (issue ), one
should have different job per platform (e.g. build.x86_64-linux).
2013-08-16 16:39:42 +02:00
056e2ce503 Don't mess with $LOGNAME in nix-shell 2013-08-16 16:38:09 +02:00
a9c6f522e6 clear_queue_non_current: Don't use isCurrent 2013-08-16 16:38:09 +02:00
46f8b25c1f Keep builds that failed with output
The user may want to look at the output, so they shouldn't be
GC'ed right away.
2013-08-16 16:36:06 +02:00
d16738e130 hydra-update-gc-roots: Keep the most recent evaluations
We now keep all builds in the N most recent evaluations of a jobset,
rather than the N most recent builds of every job.  Note that this
means that typically fewer builds will be kept (since jobs may be
unchanged across evaluations).
2013-08-16 16:21:30 +02:00
8e1ade4422 Fix display of non-aggregate builds 2013-08-15 13:57:47 +02:00
242072bbd6 Hide the views tab for project that don't have them
Views are obsolete (replaced by the declarative "aggregate" build
mechanism) so we don't want people creating new ones.
2013-08-15 13:54:23 +02:00
c9a0e12804 Hide project/jobset in constituent list 2013-08-15 03:35:18 +02:00
72a0fa6ec5 Sort constituents by job name 2013-08-15 03:28:21 +02:00
06c74085b5 Make "Add to release" a modal dialog 2013-08-15 03:07:20 +02:00
d92d83a82a Fix broken redirect when editing a release 2013-08-15 02:57:36 +02:00
1776d9118f Rename aggregate members to constituents 2013-08-15 02:33:10 +02:00
e4141afcc9 On the build page, show how many aggregate constituents failed
(Also, renamed aggregate "member" to "constituent", since "member" is
rather vague.)
2013-08-15 02:17:06 +02:00
81322de94e Show aggregate members 2013-08-15 00:30:19 +02:00
d30b49ebac Forgot to commit 2013-08-14 03:50:07 +02:00
d58142b3f0 Store aggregate members in the database
For presentation purposes, we need to know what builds are part of an
aggregate build.  So at evaluation time, look at the "members"
attribute, find the corresponding builds in the eval, and create a
mapping in the AggregateMembers table.
2013-08-14 01:59:29 +02:00
c27f4bbaf5 Add a redirect from an eval to a named member
E.g. /eval/798867/job/tarball redirects to the build with job name
"tarball".
2013-08-13 01:56:45 +02:00
a25ea193f7 Add a /eval action to /build to go from a build to the latest finished eval 2013-08-13 01:43:50 +02:00
fcdca0d4de Fix some XML wellformedness issues 2013-08-13 00:41:37 +02:00
4792256e43 Add some more fields to the JSON output of /build 2013-08-12 22:57:53 +02:00
bef263c930 Add a ‘latest-finished’ action
It redirects to the latest successful build from a finished
evaluation.  This is mostly useful for the Nixpkgs/NixOS mirroring
script, which need the latest finished evaluation in which some
aggregate job (such as ‘tested’ in NixOS) succeeded.
2013-08-12 22:17:04 +02:00
84acccb3ea Index builds on stop time
This is necessary to make the /all page fast, since it sorts builds on
descending stop time.
2013-08-12 20:19:10 +02:00
452c8e36d1 Materialize the number of finished builds
The NrBuilds table tracks the value of ‘select count(*) from Builds
where finished = 0’, keeping it up to date via a trigger.  This is
necessary to make the /all page fast, since otherwise it needs to do a
sequential scan on the Builds table.
2013-08-12 20:19:10 +02:00