Commit Graph

793 Commits

Author SHA1 Message Date
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
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
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
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 #60.  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 #60), one
should have different job per platform (e.g. build.x86_64-linux).
2013-08-16 16:39:42 +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
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
fcdca0d4de Fix some XML wellformedness issues 2013-08-13 00:41:37 +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
db3647aa15 Set the character set
Cherry-picked from the persona branch.
2013-07-12 15:04:13 +02:00
ccd2292458 Link to both the Persona and legacy sign in 2013-07-09 14:39:28 +02:00
1db9381473 Fix legacy login 2013-07-09 13:55:44 +02:00
9aa44fa944 Some escaping 2013-07-09 13:55:29 +02:00
895f21cfad Show a user's roles in the preferences page 2013-07-09 13:07:04 +02:00
476203d0bb Prevent Persona users from setting a password 2013-07-09 13:01:56 +02:00
5fecf8e385 Show sign in as success 2013-07-09 12:07:18 +02:00
08f3bb78c4 Use the alert class for flash messages 2013-07-09 12:05:25 +02:00
12ca755bea Don't redirect to /login if authentication is required
We can just serve the login page in place.
2013-07-09 12:02:15 +02:00
13f0b54c49 Set the character set 2013-07-09 00:23:48 +02:00
c08fc6ce1e Add basic Persona support
This allows users to sign in to Hydra using Mozilla Persona accounts.
When a user first sign in, a row in the Users table for the given
Persona identity (an email address) is created automatically.

To do: figure out how to deal with legacy accounts.
2013-07-08 23:54:40 +02:00
002ac9ef63 Merge in the first bits of the API work
The catalyst-action-rest branch from shlevy/hydra was an exploration of
using Catalyst::Action::REST to create a JSON API for hydra. This commit
merges in the best bits from that experiment, with the goal that further
API endpoints can be added incrementally.

In addition to migrating more endpoints, there is potential for
improvement in what's already been done:
* The web interface can be updated to use the same non-GET endpoints as
  the JSON interface (using x-tunneled-method) instead of having a
  separate endpoint
* The web rendering should use the $c->stash->{resource} data structure
  where applicable rather than putting the same data in two places in
  the stash
* Which columns to render for each endpoint is a completely debatable
  question
* Hydra::Component::ToJSON should turn has_many relations that have
  strings as their primary keys into objects instead of arrays

Fixes NixOS/hydra#98

Signed-off-by: Shea Levy <shea@shealevy.com>
2013-07-02 14:00:46 -04:00
c65f40e146 Add common.js to the tarball 2013-06-25 12:48:25 +02:00
611f402a70 Move common Javascript code into a separate file 2013-06-25 01:16:28 +02:00
a5436be2ce After editing a project/jobset, redirect back to the config tab 2013-06-25 01:00:59 +02:00
68a03bc674 When a tab is selected, change the fragment id
And when a page is visited, active the tab identified by the fragment
id.  This allows linking to a specific tab.

Fixes #93.
2013-06-25 00:55:14 +02:00
2974fea1a7 Use https://ajax.googleapis.com if we're on https 2013-06-07 15:45:37 +02:00
8e246a835a Don't do camel case in filenames 2013-06-02 23:30:46 +02:00
591acda6f9 reproduce.tt: Save the revCount when reproducing more than once
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-05-30 14:06:32 -04:00
8e716ff062 reproduce.tt: Create the checkout dir before an hg clone
For some reason, hg clone from a local (path-based) repo will fail if
the parent directory of the destination directory doesn't exist (though
it succeeds when cloning from an http repo).

Signed-off-by: Shea Levy <shea@shealevy.com>
2013-05-30 13:31:53 -04:00
1277a8fc1c Don't break certain table columns
For instance, if the "timestamp" column becomes too small, then every
timestamp is spread out across two lines, doubling the size of the
table.
2013-05-29 14:58:44 +02:00
47c49cf3d4 Show links on products of type "doc" 2013-05-29 11:39:23 +02:00
1f1615e80b Support revision control systems via plugins 2013-05-25 15:36:58 -04:00
e0c411220e built.tt: Handle the case where the original build is not known
And remove some parentheses.
2013-05-24 12:43:31 -04:00
57b2bb0674 Let Builds.timestamp refer to the time the build was added
Previously, for scheduled builds, "timestamp" contained the time the
build was added to the queue, while for finished builds, it was the
time the build finished.  Now it's always the former.
2013-05-23 10:45:49 -04:00
4b1a8384db reproduce.tt: Set revCount for hg repos
The revision counting changes depending on which revision is cloned
initially, so clone the default branch first and then checkout the
required revision to match hydra's revCount.

Signed-off-by: Shea Levy <shea@shealevy.com>
2013-05-16 11:24:17 -04:00