Commit graph

1541 commits

Author SHA1 Message Date
Rob Vermaas
c630433b61 Move 'clone build' to top menu 2012-04-12 21:40:57 +02:00
Rob Vermaas
7886666b0b Replace ugly link with nice small buttons 2012-04-12 21:03:59 +02:00
Rob Vermaas
72785f35aa Some overriding of bootstrap default css 2012-04-12 21:03:25 +02:00
Rob Vermaas
06d6f5b5f7 remove header on build page 2012-04-12 20:19:52 +02:00
Rob Vermaas
5748262517 Add bootstrap.zip 2012-04-12 20:13:04 +02:00
Rob Vermaas
17d30cd179 Using twitter bootstrap for more consistent looks for Hydra 2012-04-12 20:12:07 +02:00
Ludovic Courtès
6e62d9b7b5 Allow use of a single Git clone for several branches.
This reinstates commit 53329ecc61, but
uses "git pull --all", instead of "git fetch --all", so that local
tracking branches get updated too.
2012-04-12 16:55:33 +02:00
Rob Vermaas
ed23a6e6d3 Add branch to local clone path of git repositories for now. 2012-04-10 10:06:12 +02:00
Rob Vermaas
79211d5efe Revert "Use git fetch --all to update local clone in stead of git pull. Also, do not use --branch in initial clone."
This reverts commit 53329ecc61.
2012-04-10 10:04:22 +02:00
Rob Vermaas
53329ecc61 Use git fetch --all to update local clone in stead of git pull. Also, do not use --branch in initial clone. 2012-04-05 15:49:48 +02:00
Eelco Dolstra
8b88ce19c2 Huuuge speedup in the Hydra evaluator
The check to see whether a build had been scheduled in a previous
evaluation took about 200 ms for the nixpkgs:trunk jobset.  Given
that it has more than 15000 builds, this added up to a lot.  Now
it takes 0.2 ms per build.
2012-04-04 17:29:03 +02:00
Eelco Dolstra
1cdc023427 Propagate URI parameters 2012-04-04 13:17:22 +02:00
Eelco Dolstra
e9dd3158a0 Propagate URI parameters
This allows URIs like

  http://hydra.nixos.org/jobset/nixpkgs/trunk/latest-eval?compare=stdenv

to do the right thing.
2012-04-04 12:56:49 +02:00
Eelco Dolstra
05d03ee153 Don't use colspan=0, it doesn't work in all browsers 2012-04-04 10:33:00 +00:00
Eelco Dolstra
f52ca0c588 Add a redirect to the latest view result for which the underlying evaluation has finished completely
This will be useful for the Nixpkgs channel mirror script:

  http://hydra.nixos.org/view/nixpkgs/unstable/latest-finished/channel

is the channel containing the latest, consistent, tested set of builds.
2012-04-03 17:45:03 +02:00
Eelco Dolstra
bd93ca9316 Add a redirect to the evaluation page of a view result
E.g.

  http://hydra.nixos.org/view/nixpkgs/unstable/latest/eval

Thus this is the channel representing the latest Nixpkgs for which the
elements of the view "unstable" succeeded:

  http://hydra.nixos.org/view/nixpkgs/unstable/latest/eval/channel
2012-04-03 15:45:48 +02:00
Eelco Dolstra
2c677ec71a Always record inputs passed through -I in the BuildInputs table
We currently have no way to determine if the Nix evaluator used a
specific -I input, so we need to record all of them as inputs.
2012-04-03 10:10:45 +00:00
Eelco Dolstra
30e2b9046a Cleanup 2012-04-03 11:28:59 +02:00
Eelco Dolstra
db2b2b6134 Add a redirect to the latest finished jobset evaluation
The action .../jobset/<project>/<jobset>/latest-eval redirects to the
latest evaluation of the jobset that has no unfinished builds.  Thus,
for instance,

  http://hydra.nixos.org/jobset/nixpkgs/trunk/latest-eval/channel

is the channel containing the latest consistent set of Nixpkgs builds.
2012-04-03 01:30:54 +02:00
Eelco Dolstra
262f068e26 Support obtaining the contents of an evaluation as a channel
E.g. http://hydra.nixos.org/eval/552513/channel

The advantage of such a channel is that all builds come from the same
evaluation, and thus are consistent.
2012-04-02 23:27:17 +02:00
Eelco Dolstra
3e57cbfeb8 User color instead of a big animated GIF to indicate whether a build is running 2012-04-02 21:07:49 +02:00
Eelco Dolstra
69e600da89 Allow comparing an evaluation with an arbitrary other evaluation
The URI parameter "compare=..." can denote either an arbitrary
evaluation ID, or the name of a jobset in the same project.  In the
latter case, the comparison is made against the latest completed
evaluation of the specified jobset.
2012-04-02 20:40:59 +02:00
Eelco Dolstra
2f9153c640 Prevent multiple builds with the same (job, outPath) tuple from being added
This happened in a pathological case in Nixpkgs: the "grub" job is
evaluated for i686-linux and x86_64-linux, but in the latter case it
returns the same derivation as in the former case.  So only one build
should be added.
2012-04-02 15:56:29 +00:00
Eelco Dolstra
9d4cb29e08 Show queued builds in jobset evaluation pages 2012-04-02 15:23:42 +00:00
Eelco Dolstra
427e5e8db8 Show new and removed jobs 2012-04-02 16:45:05 +02:00
Eelco Dolstra
662cdf0421 Add support for viewing jobset evaluations 2012-04-02 16:11:22 +02:00
Eelco Dolstra
d33fbad438 Unpack jQuery etc. in the build tree for easier testing 2012-04-02 11:15:48 +00:00
Eelco Dolstra
0aae52bfcc In build tables, hide the project, jobset and/or job name if they're constant 2012-04-02 13:12:39 +02:00
Eelco Dolstra
d8f8143cc2 No wonder our disk was filling up 2012-03-26 17:13:50 +02:00
Rob Vermaas
4d4e1986e8 remove delete jobset button until we actually have implemented the action properly 2012-03-26 14:39:50 +02:00
Eelco Dolstra
e1768cae86 Don't barf if the SQLite DB is missing
This prevented hydra-init from starting.
2012-03-19 03:57:11 +00:00
Ludovic Courtès
3846c2407d Fix URL in the "password changed" email. 2012-03-13 18:30:57 +01:00
Ludovic Courtès
2b68e41ee4 Actually add SQL files to the distribution. 2012-03-13 17:49:18 +01:00
Ludovic Courtès
ace94192ac Update the list of SQL files to be installed.
This fixes `hydra-init', which would otherwise not find `upgrade-*.sql',
thus skipping the update altogether.
2012-03-13 17:45:14 +01:00
Eelco Dolstra
dae5032c1c I'm stupid 2012-03-13 13:33:19 +01:00
Eelco Dolstra
c844b9f09a Remove the global Job status and Errors links 2012-03-13 13:31:36 +01:00
Eelco Dolstra
161d7418f8 Doh 2012-03-13 13:30:41 +01:00
Eelco Dolstra
1f268d2d43 Update isCurrent properly 2012-03-13 13:09:10 +01:00
Eelco Dolstra
179b012a8e Open the DB using Hydra::Model::DB->new
This gets rid of the openHydraDB function and ensures that we
open the database in a consistent way.

Also drop the PostgreSQL sequence hacks.  They don't seem to be
necessary anymore.
2012-03-13 12:10:19 +01:00
Eelco Dolstra
13f4636436 hydra-evaluator: handle the case where there is no previous jobset eval 2012-03-12 21:13:28 +01:00
Eelco Dolstra
a4cda5e337 Don't use the Switch module
It was removed in Perl 5.14.
2012-03-12 20:47:30 +01:00
Eelco Dolstra
87e4d43848 Fix the jobset unchanged check
When checking whether the jobset is unchanged, we need to compare with
the previous JobsetEval regardless of whether it had new builds.
Otherwise we'll keep adding new JobsetEval rows.
2012-03-12 20:47:30 +01:00
Eelco Dolstra
27619f18e2 Re-enable the "Related Builds" tab
However, there is a "limit 1" on the JobsetEval search to prevent a
sequential scan of the Builds table.
2012-03-12 20:47:30 +01:00
Eelco Dolstra
abe71a767b Disable prepared statements completely
Because of the way DBIx::Class does prepared statements, even
innocuous queries such

  $c->model('DB::Builds)->search({finished => 0})

can be extremely slow.  This is because DBIx::Class prepares a
PostgreSQL statement

  select ... from Builds where finished = ?

and since Builds is very large and there is a large fraction of rows
with "finished = 1", the PostgreSQL query planner decides to implement
this query with a sequential scan of the Builds table (despite the
existence of an index on "finished"), which is extremely slow.  It
would be nice if we could tell DBIx::Class that constants should be
part of the prepared statement, i.e.

  select ... from Builds where finished = 0

but AFAIK we can't.
2012-03-12 20:47:30 +01:00
Eelco Dolstra
2d1cf73974 Speed up channel processing
In particular the /pkg action is now O(lg n) instead of O(n) in the
number of packages in the channel, and listing the channel contents
no longer requires calling isValidPath() on all packages.

Derivations (and thus build time dependencies) are no longer included
in the channel, because they're not GC roots.  Thus they could
disappear unexpectedly.
2012-03-12 20:47:30 +01:00
Eelco Dolstra
9f10c0f9c0 Fix a reference to BuildResultInfo 2012-03-12 20:47:30 +01:00
Eelco Dolstra
07b3dffd20 Reduce I/O in build listings by only fetching required columns
Columns such as "longDescription" can be large, so fetching them
when they're not needed is wasteful.
2012-03-12 20:47:30 +01:00
Eelco Dolstra
6526d4a65f hydra-build: only send email if the status differs from the previous build
This isn't perfect because it doesn't handle the case where a
previous build hasn't finished yet.  But at least it won't send mail
for old builds that fail while a newer build has already succeeded.
2012-03-12 20:47:29 +01:00
Eelco Dolstra
47f877c5bb Evaluator cleanups
* Don't use isCurrent anymore; instead look up builds in the previous
  jobset evaluation.  (The isCurrent field is still maintained because
  it's still used in some other places.)

* To determine whether to perform an evaluation, compare the hash of
  the current inputs with the inputs of the previous jobset
  evaluation, rather than checking if there was ever an evaluation
  with those inputs.  This way, if the inputs of an evaluation change
  back to a previous state, we get a new jobset evaluation in the
  database (and thus the latest jobset evaluation correctly represents
  the latest state of the jobset).

* Improve performance by removing some unnecessary operations and
  adding an index.
2012-03-12 20:47:29 +01:00
Eelco Dolstra
bc82a82593 Fix a race condition in hydra-update-gc-roots
Since it read the actual roots after determining the set of desired
roots, there was a possibility that it would delete roots added by
hydra-evaluator or hydra-build while hydra-update-gc-roots was
running.  This could cause a derivation to be garbage-collected before
the build was performed, for instance.  Now the actual roots are read
first, so any root added after that time is not deleted.
2012-03-12 20:47:29 +01:00
Eelco Dolstra
29d5a02b94 Speed up hydra-update-gc-roots
The hydra-update-gc-roots script is taking around 95 minutes on our
Hydra instance (though a lot of that is I/O wait).  This patch
significantly reduces the number of database queries.  In particular,
the N most recent successful builds for each job in a jobset are now
determined in a single query.  Also, it removes the calls to
readlink().
2012-03-12 20:47:29 +01:00
Eelco Dolstra
5be004c999 Drop the merged tables after conversion 2012-03-12 20:47:29 +01:00
Eelco Dolstra
8d65ab6158 Don't use a prepared statement for the active build steps query
Prepared statements are sometimes much slower than unprepared
statements, because the planner doesn't have access to the query
parameters.  This is the case for the active build steps query (in
/status), where a prepared statement is three orders of magnitude
slower.  So disable the use of prepared statements in this case.

(Since the query parameters are constant here, it would be nicer if we
could tell DBIx::Class to prepare a statement with those parameters
fixed.  But I don't know an easy way to do so.)
2012-03-12 20:47:29 +01:00
Eelco Dolstra
68a867da67 Merge the BuildResultInfo table into the Builds table 2012-03-12 20:47:29 +01:00
Eelco Dolstra
25334715f8 Merge the BuildSchedulingInfo table into the Builds table
This simplifies the code and improves performance since it reduces
the number of joins.
2012-03-12 20:47:29 +01:00
Eelco Dolstra
19fe4b9b4a Add hydra-init to the tarball 2012-03-05 15:35:13 +01:00
Eelco Dolstra
541238030d Provide a command ‘hydra-init’ to initialise/upgrade the database
For schema upgrades, hydra-init executes the files
src/sql/upgrade-<N>.sql, each of which upgrades the schema from
version N-1 to N.  The upgrades are wrapped in a transaction.
2012-02-28 20:16:16 +01:00
Eelco Dolstra
da26294fdb Don't install hydra-create
It doesn't do anything useful for users.
2012-02-28 15:33:28 +01:00
Eelco Dolstra
b13664308c Whitespace 2012-02-28 15:27:44 +01:00
Eelco Dolstra
3d824b3a3a Indentation 2012-02-21 17:59:36 +01:00
Eelco Dolstra
578530dac2 Don't show duplicate builds in "Related builds"
Since a build may be a member of multiple jobset evaluations, we need
to do a "select distinct" here.  But maybe we should only show builds
from a single evaluation (e.g. the most recent), since showing builds
from several may be confusing.
2012-02-21 17:16:32 +01:00
Rob Vermaas
2cf9b148eb 50 for related builds might be a kind of low, will start with 100 2012-02-16 17:00:59 +01:00
Rob Vermaas
924d94cafd * minor performance tweaks
* added related builds tab which show related builds (builds that are in same evaluations), shows max 50
2012-02-16 16:56:01 +01:00
Rob Vermaas
355135b6e8 add links in admin page to clear queue (all non-running builds, and all non-running old (non-current) builds) 2012-02-16 15:31:12 +01:00
Rob Vermaas
bb6ef9c2ed accidentally committed an = too little, which caused all unknown values to result in 'not building', which was not the intention 2012-02-16 11:14:22 +01:00
Rob Vermaas
739a03393c allow null values for jobs, meaning it should build 2012-02-16 11:03:22 +01:00
Ludovic Courtès
1f448673f0 hydra-build: Do not send email following an abortion. 2012-02-14 11:48:44 +01:00
Eelco Dolstra
a3cc2ce796 Remove redundant dot in status emails
E.g.:

  This is to let you know that Hydra build 1998534 of job patchelf:trunk:deb_ubuntu1110x86_64 is 'Success'..
2012-02-07 14:51:47 +01:00
Ludovic Courtès
5644c1c7d9 hydra-build: Add system info to the subject and extra headers. 2012-01-31 18:27:33 +01:00
Rob Vermaas
8d78a688c7 is not in hydra-server's scope 2012-01-28 21:03:44 +01:00
Rob Vermaas
1c0cd99c3e remove old line 2012-01-28 20:55:33 +01:00
Rob Vermaas
fded9e62af logdiff now support bzipped logs for logdiff 2012-01-28 20:47:01 +01:00
Rob Vermaas
ae491f7223 use base_uri config in password reset email 2012-01-28 07:18:10 +01:00
Rob Vermaas
01f07be8f2 fix; resetting password used to send email to logged in user (typically admin), now to the user whose password is resetted 2012-01-28 07:14:40 +01:00
Rob Vermaas
1840a842d3 fix build links in input diff's, showed only current build in each link 2012-01-22 09:03:57 +01:00
Rob Vermaas
9b4f09ba83 allow dots (.) in job names when used as build input 2012-01-06 23:04:48 +01:00
Rob Vermaas
203a9b9ad7 make filesize field for buildproducts a bigint to support big files 2011-12-10 14:48:33 -05:00
Eelco Dolstra
9fe8c43437 Pass the abbreviated Git revision
The abbreviated Git revision hash (e.g. "267480b") is typically
contained in ‘gitTag’ as well, but the latter can contain other
elements as well, e.g., the delta to the closest tag.  That may
be undesirable in version strings, so this is an alternative.
2011-12-06 23:04:15 +01:00
Eelco Dolstra
b1da85140d Fix sysbuild input type handling 2011-12-05 17:13:20 +01:00
Eelco Dolstra
e9c88783ce Pass additional attributes for Git inputs
The ‘revCount’ attribute is the number of commits in the history
of the revision.  This is useful if you need a monotonically
increasing version number.

The ‘gitTag’ attribute is the output of ‘git describe’, e.g.
‘v1.0.4-14-g2414721’ to indicate that the current revision is 14
commits after the tag ‘v1.0.4’.
2011-12-05 15:13:31 +01:00
Eelco Dolstra
9032c55aa6 Keep track of the database schema version
The singleton table SchemaVersion contains the current version
of the Hydra database schema.  This can be used to upgrade the
schema on the fly.

Also reran the DBIx::Class schema loader.
2011-12-05 14:29:29 +01:00
Eelco Dolstra
3b9a62c964 Pass inputs to release expressions using -I
This means that you can now write (for instance)

  with <nixpkgs> { ... };

in release.nix, rather than

  { nixpkgs } :

  with nixpkgs { ... };
2011-12-05 13:08:43 +01:00
Eelco Dolstra
9d4b2253ea Add missing / 2011-12-04 22:53:07 +01:00
Eelco Dolstra
52406e108b Handle missing "build" inputs 2011-12-04 22:36:55 +01:00
Eelco Dolstra
65ea71578f Cleanup
Don't propagate $type unnecessarily.
2011-12-04 22:18:23 +01:00
Eelco Dolstra
6c3f878026 Die TABs die 2011-12-04 22:05:43 +01:00
Eelco Dolstra
29846d7f2f Do incremental SVN checkouts
In hydra-evaluator, reuse an SVN working copy between runs (similar to
what we do with Git and other input types).  This reduces network
traffic in the common case.

Also, don't use nix-prefetch-svn.  It doesn't do anything useful.
2011-12-04 22:05:43 +01:00
Eelco Dolstra
692a11fd3b Indentation 2011-12-04 22:05:43 +01:00
Ludovic Courtès
6c4e83d454 More command renaming. 2011-12-02 15:58:26 +01:00
Rob Vermaas
41cd5d2838 fix missing import of Nix::Store for isValidPath 2011-12-01 20:46:02 -05:00
Eelco Dolstra
be1935f66a Rename hydra_eval_jobs to hydra-eval-jobs 2011-11-30 18:14:48 +01:00
Eelco Dolstra
92536c2e3c Random indentation fix 2011-11-30 18:14:48 +01:00
Eelco Dolstra
82d17a2d0b Rename hydra_*.pl to hydra-*
The underscores are ugly and the .pl extension is an implementation
detail that shouldn't be visible to the outside.

Also, get rid of the *.in files.  It's not really necessary to
generate them.  And I was always modifying the wrong file.
2011-11-30 18:14:48 +01:00
Rob Vermaas
787ed37cb3 git branches can share local clones 2011-11-30 11:40:35 -05:00
Eelco Dolstra
2c328e4b20 Forgot to change Nix to Nix::Store in one place 2011-11-30 17:22:31 +01:00
Eelco Dolstra
c613b885f2 Use the new Nix Perl bindings 2011-11-30 15:25:28 +01:00
Eelco Dolstra
5333c67bf9 Prevent an unnecessary SQL query for every package in the NixExprs view 2011-11-30 14:27:46 +01:00
Eelco Dolstra
c8d572a0dc Remove the "all" channel
The "all" channel fundamentally doesn't scale, because it needs
to fetch N builds from the database (where N is potentially a very
large number), then check whether they are still valid.  And it's
not very useful anyway.
2011-11-30 12:07:47 +01:00
Eelco Dolstra
d37c4cfe86 Remove unnecessary whitespace in the HTML output 2011-11-29 20:15:42 +01:00
Eelco Dolstra
69e9a91bcb Fix a huge performance regression in the jobstatus page
The renderBuildStatusIcon function was looking at the
resultInfo and schedulingInfo of each build, causing
a SQL query for every build in the result.
2011-11-29 19:55:49 +01:00
Eelco Dolstra
afef502bb6 Fix indentation 2011-11-29 19:04:40 +01:00
Eelco Dolstra
88b4c4f55d Add another index to speed up the jobstatus page 2011-11-29 18:48:11 +01:00
Eelco Dolstra
eca51da45c Print out an Apache-style access log 2011-11-29 18:09:46 +01:00
Eelco Dolstra
8d0ea54fa9 Speed up the /jobset overview pages a lot 2011-11-29 18:09:04 +01:00
Eelco Dolstra
3b550a8086 Minor style changes 2011-11-29 18:08:23 +01:00
Eelco Dolstra
0f639021d0 Add an index to speed up the /project/<name> pages 2011-11-29 17:07:37 +01:00
Eelco Dolstra
3685ffd464 Whitespace 2011-11-29 15:57:47 +01:00
Eelco Dolstra
ee67821d1f Disable Catalyst's Debug flag
It can be re-enabled by setting $HYDRA_DEBUG to 1.
2011-11-25 16:44:18 +01:00
Eelco Dolstra
ec32e833e6 Install the file in the Hydra/Script directory 2011-11-22 17:34:23 +01:00
Eelco Dolstra
43a9fdc891 Remove the gray container around the main page div 2011-11-22 17:30:13 +01:00
Rob Vermaas
0d81e23b46 remove reference to non-existing nix-common.css 2011-11-22 11:10:51 -05:00
Eelco Dolstra
109e5807c2 Use CatalystX::Script::Server::Starman
This allows us to pass --max_server and similar options
to raise the number of workers from the default (5).
2011-11-22 16:44:32 +01:00
Rob Vermaas
15cac00906 Merge branch 'master' of github.com:NixOS/hydra 2011-11-19 21:40:00 -05:00
Rob Vermaas
2db4462735 fix annoying behaviour in webkit browsers when middle-clicking (open in new tab) on a build, it used to open the build both in new tab as current tab 2011-11-19 21:38:40 -05:00
Eelco Dolstra
6c4ad48be7 Gratuitous whitespace. 2011-11-18 20:35:27 +01:00
Rob Vermaas
43198e9353 used wrong builds collection for determining if we need to show current build section in job page 2011-11-16 15:21:53 -05:00
Rob Vermaas
c8127b887f use newer icons consistently 2011-11-16 13:29:40 -05:00
Rob Vermaas
98fadb53e4 use newer icons consistently 2011-11-16 13:03:48 -05:00
Rob Vermaas
f4204df39a always show latest 10 builds on job page 2011-11-16 10:36:18 -05:00
Rob Vermaas
1395717245 recognize tgz in build products contents page 2011-11-16 10:32:32 -05:00
Rob Vermaas
d9ba24b216 add link to build on tail/-reload log pages 2011-11-10 12:22:27 -05:00
Rob Vermaas
fd9b32bef7 show all related jobset/job links in navbar for the tail/-reload logs 2011-11-10 12:19:05 -05:00
Rob Vermaas
3eaa615281 point log link for running build step to the automatically reloading log page in stead of the 'useless' pretty log page 2011-11-10 11:52:42 -05:00
Rob Vermaas
41c649a2fd remove .hg-archival.txt in nix-prefetch-hg 2011-11-03 19:44:05 -04:00
Rob Vermaas
d14f7c7720 fix mercurial diffs, should change to cloned repo first 2011-11-01 21:36:46 -04:00
Rob Vermaas
13df3e4191 fix nrbuilds query 2011-11-01 21:35:02 -04:00
Rob Vermaas
ab81ce689d add nix-prefetch- scripts for now, were externals in svn 2011-10-28 22:12:51 -04:00
Rob Vermaas
9ce95d31f1 change content type of logdiff to ->response->content_type('application/json'); 2011-10-12 13:36:20 +00:00
Rob Vermaas
a2a187b36a if no previous successful build, do not show changes section 2011-10-12 12:43:31 +00:00
Ludovic Courtès
c329bece61 Handle xz-compressed files. 2011-10-10 21:00:54 +00:00
Eelco Dolstra
5f93e6437f * Update to Catalyst 5.9. 2011-10-07 13:45:23 +00:00
Rob Vermaas
6d81bafae4 check for revisions 2011-10-05 19:08:45 +00:00
Rob Vermaas
52c2b31711 no branch info available yet in scmdiff, so disable for now 2011-10-05 18:45:19 +00:00
Rob Vermaas
6ca9501632 make default branch default, remove quotes 2011-10-04 22:29:36 +00:00
Rob Vermaas
9374cfcb34 add support for mercurial tags/revs 2011-10-04 20:03:43 +00:00
Ludovic Courtès
96b4db1e99 Allow Subversion inputs to specify a revision number. 2011-10-04 16:15:22 +00:00
Rob Vermaas
998665aa0f add log diff to compare logs to previous builds 2011-09-26 14:47:55 +00:00
Rob Vermaas
ef802279ed use build timestamp as last-modified header on download 2011-09-15 15:22:00 +00:00
Eelco Dolstra
2a18d8aac9 * Fix hydra_eval_jobs. 2011-09-15 08:34:08 +00:00
Eelco Dolstra
d8a7ca67f4 * Start of a JSON API to get information about a specific build.
E.g. http://server/build/1341335/api/get-info returns a JSON 
  record containing information about the build.
2011-09-15 08:27:17 +00:00
Eelco Dolstra
d72538e641 * Remove empty file. 2011-09-11 20:17:59 +00:00
Rob Vermaas
f34ec401ba fix for buildsteps starting at 0, probably something changed in catalyst 2011-09-08 22:48:38 +00:00
Rob Vermaas
203716597d set threshold to show status on jobset page to a more usable size 2011-08-29 17:56:38 +00:00
Rob Vermaas
5d3f5f9fca hydra: when no external url is given for diff's of git/hg input, revert to a diff done on a local available clone 2011-08-25 14:50:31 +00:00
Eelco Dolstra
c51af99ecf * Catalyst now escapes slashes to %2f, which broke defaultUriForProduct. 2011-08-19 16:23:01 +00:00
Eelco Dolstra
9f78a942bc 2011-08-19 16:09:14 +00:00
Eelco Dolstra
d49ccadfea * Build fix. 2011-08-19 15:43:23 +00:00
Eelco Dolstra
5e359374a1 * Fix indentation. 2011-08-19 15:13:34 +00:00
Eelco Dolstra
3d6a8fa632 * Slight cleanup. 2011-08-16 14:51:19 +00:00
Rob Vermaas
b75ddbc11c allow _'s in first character of filenames 2011-07-25 23:19:24 +00:00
Ludovic Courtès
337ba26aa6 Add links missing from the admin page. 2011-07-25 09:38:41 +00:00
Rob Vermaas
8101874b83 grr, typo 2011-07-18 15:03:15 +00:00
Rob Vermaas
360b4a74bf remove buildonlylatest propery, which was committed by accident 2011-07-17 12:02:20 +00:00
Ludovic Courtès
dcbdd0ad26 hydra_build.pl: Honor `$build->timeout'. 2011-07-04 13:55:02 +00:00
Rob Vermaas
07f1d85518 remove unintentional committed line 2011-06-10 12:56:49 +00:00
Rob Vermaas
3824aeaab8 change regexp for ascii escapes in log 2011-06-10 10:53:59 +00:00
Rob Vermaas
5d166150f9 using backquote as argument resulted in only first line as first argument to removeAsciiEscapes 2011-06-10 10:48:51 +00:00
Rob Vermaas
48b435c2de remove ascii escapes from log in tail page and emails 2011-06-10 09:53:15 +00:00
Rob Vermaas
259d163ec9 clean up build page for build that failed with result 2011-06-10 07:36:30 +00:00
Ludovic Courtès
b4dd17c8c8 Tweak CSS for img/logo.
This makes it easy to choose a larger logo, while still occupying as
much vertical space as the original logo.
2011-06-09 14:49:48 +00:00
Rob Vermaas
c4130a8161 Hydra/64: Leaving number of builds empty gives DBIx error 2011-05-16 08:03:06 +00:00
Eelco Dolstra
e080af3daa * Revert r27114, it seems to break stuff. 2011-05-09 08:57:19 +00:00
Eelco Dolstra
334c71cd07 * Use default values of job function arguments if they're not
specified in Hydra.
2011-05-03 09:21:27 +00:00
Eelco Dolstra
adbba3bbcb * me.id -> build.id. 2011-04-20 08:57:55 +00:00
Rob Vermaas
2f215aac4b add tracker html code via HYDRA_TRACKER 2011-04-19 12:00:54 +00:00
Rob Vermaas
a8b3ebd514 make logo configurable via HYDRA_LOGO env var 2011-04-18 08:21:27 +00:00
Rob Vermaas
d4c96a47c9 qualify order by column 2011-04-18 08:10:10 +00:00
Rob Vermaas
fca3019c7b qualify ordery_by clauses when necessary, remove unnecessary order_by's, reported by Ludo, resulted in errors in sqlite 2011-04-01 07:40:06 +00:00
Rob Vermaas
f3f2c5683f Hydra/62 fix, broken nar download 2011-03-23 13:03:40 +00:00
Ludovic Courtès
7b1d87fde9 fetchInputGit: Populate TopGit branches when on a topic branch. 2011-03-22 22:21:19 +00:00
Rob Vermaas
1df83d52f8 fix bug reported by ludo (log in, non-admin) on project overview page 2011-03-22 08:51:15 +00:00
Rob Vermaas
d719b0480f hydra: run nix-prefetch-git on local clone of git repo 2011-03-16 16:03:01 +00:00
Rob Vermaas
8f35d03bca use NIX_*_DIR env vars when defined 2011-03-16 13:08:12 +00:00
Rob Vermaas
413d49342d fixed bug when updating user when no roles were selected, changed change-password link 2011-03-15 14:57:05 +00:00
Rob Vermaas
edbfc781d0 qualify id column 2011-03-15 13:54:43 +00:00
Rob Vermaas
2849279f80 do not send email for builds with status 'aborted' 2011-03-15 12:12:56 +00:00
Rob Vermaas
03d12ca68e Hydra/57: Unknown failure -> Failed 2011-03-15 11:51:00 +00:00
Rob Vermaas
53c48e4d7d qualify id column in queries 2011-03-14 14:05:32 +00:00
Rob Vermaas
436373c165 added store path size graph 2011-03-11 08:50:42 +00:00
Ludovic Courtès
f57f91f9ff Change fetchInputGit' to do git clone -b BRANCH' instead of `git clone'.
Suggested by Vladimír Čunát <vcunat@gmail.com>.
2011-03-10 15:06:54 +00:00
Rob Vermaas
92d547f4e5 do not check username, as you are not allowed to change it 2011-03-08 07:23:28 +00:00
Rob Vermaas
c9929761bd hydra: cannot change username, also update fullname 2011-03-07 16:46:46 +00:00
Rob Vermaas
2bbbfd7a61 remove fk constraint jobsets.nixExprInput -> JobsetInputs.name, would only work on postgresql in postpone-fk-checking mode (at end of transaction in stead of through the transaction) which is not the default 2011-03-07 16:07:16 +00:00
Rob Vermaas
107a879adc if no emailoverride specified, use empty string 2011-03-07 16:02:23 +00:00
Rob Vermaas
5c187a0640 if no emailoverride specified, use empty string 2011-03-07 15:55:37 +00:00
Rob Vermaas
560f41a7e5 if HYDRA_CONFIG is not set, take default 2011-03-07 15:49:48 +00:00
Rob Vermaas
586f131ebd use HYDRA_DATA/hydra.conf as default location for hydra.conf 2011-03-07 15:06:32 +00:00
Rob Vermaas
d4e9f5383b Hydra/56: handle failed builds with result only at build level, not buildsteps 2011-03-07 13:55:43 +00:00
Rob Vermaas
f95ded45a5 revert commit 26130, use hardcoded default value for HYDRA_DATA (/var/lib/hydra) 2011-03-07 12:30:27 +00:00
Rob Vermaas
0439e7efb7 do not install .in file 2011-03-07 08:04:10 +00:00
Ludovic Courtès
bf927b3180 Set a default value for `getHydraPath'. 2011-03-02 15:17:03 +00:00
Rob Vermaas
b59ca01e40 pass svn/bzr revisions as integers 2011-02-10 10:35:26 +00:00
Rob Vermaas
c2a7de45a5 properly pass bazaar inputs 2011-02-09 12:54:29 +00:00
Rob Vermaas
98824f2aaf hydra: nix-prefetch-bzr missing in tarball 2011-02-09 12:44:46 +00:00
Eelco Dolstra
2931689dcf * Ran update-dbix. 2011-02-09 10:19:36 +00:00
Rob Vermaas
e7c203a3b4 typo 2011-02-08 13:37:50 +00:00
Rob Vermaas
c645fa55ff initial bzr support 2011-02-08 13:11:08 +00:00
Rob Vermaas
e17fec61b2 added help, removed nix closure from 'failed build with output' productlist 2011-02-02 12:16:57 +00:00
Rob Vermaas
a561c09f2c forgot to commit a file 2011-02-02 09:07:17 +00:00
Rob Vermaas
559ab9c97a automatic reload of tail log when build is running 2011-02-02 09:00:52 +00:00
Rob Vermaas
9aeaef80fc hydra: current build -> this build 2011-01-17 10:06:11 +00:00
Rob Vermaas
6e213fab97 hydra: add nix-prefetch-* to tarball 2011-01-14 14:11:08 +00:00
Rob Vermaas
2892c92569 move nix-prefetch-* into tarball 2011-01-14 14:04:46 +00:00
Ludovic Courtès
18e23e90e2 hydra: Clarify the dependency on BDW-GC. 2011-01-14 12:53:54 +00:00
Rob Vermaas
ceffcae5e0 ignore this 2011-01-14 08:27:05 +00:00
Rob Vermaas
ff506fb3fd hydra: description at changes section 2011-01-14 08:22:32 +00:00
Rob Vermaas
5015c1bcd4 hydra: description at changes section 2011-01-14 08:19:37 +00:00
Rob Vermaas
88dc824479 make changes section more compact/readable 2011-01-14 08:11:21 +00:00
Rob Vermaas
7e69512701 hydra: refine error marking 2011-01-12 08:48:25 +00:00
Rob Vermaas
c4d0ee44f0 hydra: change icon for positive failures 2011-01-04 16:08:19 +00:00
Rob Vermaas
80e9bb01f0 hydra: missing plain.tt 2011-01-04 12:55:59 +00:00
Rob Vermaas
f35c9a4574 hydra: put contents links into html, add links to files from contents page 2011-01-04 12:50:59 +00:00
Rob Vermaas
039d1bed21 hydra: add support for succeedOnFailure feature in stdenv 2010-12-22 14:55:05 +00:00
Rob Vermaas
496c22dc0f hydra: remove old clear eval cache option 2010-12-20 09:53:01 +00:00
Rob Vermaas
11ad35443b hydra: make size columns bigger (integer -> bigint) 2010-12-08 10:14:57 +00:00
Rob Vermaas
6bb569387a hydra: remove debug statement 2010-12-07 13:26:31 +00:00
Rob Vermaas
4fdd011b2d hydra: fixed missing argument to restartbuild function 2010-12-07 13:25:29 +00:00
Rob Vermaas
cd7742f610 hydra: added some user admin 2010-12-03 09:40:25 +00:00
Rob Vermaas
6d6f43fa0c hydra: factored out build restart and 2010-12-03 08:40:34 +00:00
Rob Vermaas
02856780cf hydra: show machine in buildsteps 2010-11-29 09:10:10 +00:00
Eelco Dolstra
a75a12e819 * Include the system type in manifests as a hint for the
binary patch generator.
2010-11-26 14:34:58 +00:00
Rob Vermaas
0cee7c0909 hydra: handle case where build to keep set to 0 2010-11-23 09:05:09 +00:00
Eelco Dolstra
91fe70522f * Doh. Remove debug statement. 2010-11-22 12:20:04 +00:00
Eelco Dolstra
b4ce69ed8d * Index the Builds table on drvPath to prevent a full table scan
in findBuildDependencyInQueue in hydra_queue_runner.
2010-11-19 15:49:55 +00:00
Eelco Dolstra
a93e272364 * Add a NarSize field to Hydra manifests. This allows nix-env
to predict how much disk space a package will require.
* Compute the output / closure size using the info stored in the
  Nix database (rather than doing a slow "du").
2010-11-19 15:44:20 +00:00
Eelco Dolstra
738712fca0 * Merge the GC branch. 2010-11-19 11:01:31 +00:00
Rob Vermaas
dcdbb1d814 hydra: store logfile/output path/closure size 2010-11-11 11:03:50 +00:00
Rob Vermaas
c9ca8d6c63 add link to status page on queue page 2010-11-09 13:25:04 +00:00
Rob Vermaas
0f1c580731 hydra: order machines by enabled/disabled, add green and red color for enabled/disabled 2010-10-21 14:37:03 +00:00
Eelco Dolstra
7cd219bcbc 2010-10-19 14:19:50 +00:00
Rob Vermaas
431656546e hydra: disallow robots.txt for root and project all builds page 2010-10-19 08:34:13 +00:00
Rob Vermaas
42750364de hydra: show all running builds on job page, in stead of only showing the 'current' builds that are running 2010-10-18 12:06:59 +00:00
Rob Vermaas
df921a4fd0 hydra: add comment that file is generated by hydra to /etc/nix.machines 2010-10-18 11:05:36 +00:00
Rob Vermaas
4b3895860e hydra: add missing templates 2010-10-18 10:50:35 +00:00
Rob Vermaas
4ba4571165 hydra: newer version of jquery ui 2010-10-18 10:45:30 +00:00
Rob Vermaas
bf9596674a hydra: missing perl modules 2010-10-18 10:18:07 +00:00
Rob Vermaas
766f44517e hydra: missing perl module 2010-10-18 10:03:53 +00:00
Rob Vermaas
a391c78aaf hydra: buildmachine disabled by default, add some default constraints 2010-10-13 12:51:29 +00:00
Rob Vermaas
ef1efa80e4 hydra: missing property 2010-10-13 12:35:34 +00:00
Rob Vermaas
398993f688 hydra: add some admin for adding/enabling/etc build machines 2010-10-13 12:32:57 +00:00
Rob Vermaas
753f5679cb hydra: remove HYDRA_HOME env var, not used 2010-10-08 10:45:44 +00:00
Rob Vermaas
5e0e9e058d hydra: removed need for HYDRA_BUILD_BASEURL env variable 2010-10-08 10:45:42 +00:00
Rob Vermaas
0491ea3455 hydra: catalyst plain view doesn;t work with data => 0, so put some whitespace around it 2010-10-08 10:45:40 +00:00
Rob Vermaas
c37b90ee3e hydra: use autoconf/-make 2010-09-30 14:29:15 +00:00
Rob Vermaas
673ef76020 fix redirect after login 2010-09-29 11:01:48 +00:00
Rob Vermaas
822ca9c29e hydra: in jobstatus pages, allow maintainer query argument to show only the packages you are maintaining 2010-09-08 06:37:19 +00:00
Rob Vermaas
526ffb7eef hydra: missing argument 2010-09-07 15:12:41 +00:00
Rob Vermaas
05ebf34441 hydra: do not use refs/heads while checking for latest commit in branch 2010-09-07 14:56:53 +00:00
Rob Vermaas
d3f0c3f67d hydra: export addBuildProducts 2010-09-07 12:31:11 +00:00
Rob Vermaas
38d50806b9 hydra: if evaluator sees cached build, also add the buildproducts 2010-09-07 11:29:52 +00:00
Rob Vermaas
6d74064999 add /status to robots.txt 2010-09-03 09:17:54 +00:00
Rob Vermaas
4c63ccb6bc hydra: moves jobsetOverview sub 2010-09-03 09:17:52 +00:00
Rob Vermaas
ce34776992 added some json responses 2010-09-02 12:21:56 +00:00
Rob Vermaas
79168ae722 hydra: missing uses 2010-09-02 09:00:06 +00:00
Rob Vermaas
c5ceece093 hydra: moved getbuildlog 2010-09-02 08:56:29 +00:00
Rob Vermaas
d7487ab0d9 hydra: at evaluation, check if path is already built, and mark as built in stead of adding to the queue. 2010-09-01 10:50:57 +00:00
Rob Vermaas
2e02291092 fixed email bug 2010-09-01 08:52:54 +00:00
Eelco Dolstra
1495e04d9d * Speed up findBuildDependencyInQueue by doing only one SQL query for
all the dependencies (`drvpath => [ @drvs ]' is an OR).
2010-08-31 16:19:33 +00:00
Eelco Dolstra
fbeb5abc69 2010-08-31 15:37:50 +00:00
Eelco Dolstra
0caf68c638 * Disambiguate. 2010-08-31 15:30:20 +00:00
Eelco Dolstra
f6715fa0ef * Added a status page that shows all the currently executing build steps.
* Store the system type in the BuildSteps table.
* Don't query the queue size when serving static pages.  This prevents
  two unnecessary database queries per request.
2010-08-31 15:27:46 +00:00
Eelco Dolstra
eb0c477549 * jQuery 1.8.4. 2010-08-31 14:17:28 +00:00
Eelco Dolstra
2a69745a88 * Store the name of the machine that performed a build step in the
BuildSteps table.
2010-08-31 14:08:59 +00:00
Rob Vermaas
c174998a0c hydra: when restarting a build, remove possible failed dependencies from the failed-cache. 2010-08-11 06:43:59 +00:00
Rob Vermaas
f7ce960b96 hydra: make sure viewing logs works when logs are bz2'd 2010-08-10 13:11:41 +00:00
Rob Vermaas
7bd11b87f0 hydra: only use keepnr to determine if builds should be kept 2010-08-10 08:00:28 +00:00
Rob Vermaas
9d9bf8b264 hydra: make nr of build to keep configurable per jobset 2010-08-10 06:48:45 +00:00
Rob Vermaas
34e309f0f7 hydra: if a project or jobset is hidden (and thus disabled) do not keep builds 2010-08-09 18:36:16 +00:00
Rob Vermaas
066fd3e41f hydra: fixed email notification bug, when build is performed for the first time (it always said succeeded in the body of the mail 2010-08-09 13:08:27 +00:00
Rob Vermaas
87007fb97c hydra: fix enable email notification bug 2010-08-06 08:35:06 +00:00
Eelco Dolstra
489e4f7697 * Create some more indices on tables that have a foreign key reference
to the Builds table.  Otherwise deleting builds (e.g. when flushing
  the queue) is very slow.
2010-08-05 14:06:02 +00:00
Rob Vermaas
23886606d0 Hydra/40: Last 5 builds on job page incorrect 2010-08-02 12:32:15 +00:00
Rob Vermaas
dda064bc8c hydra: nar was replaced, so also move in robots.txt 2010-07-30 10:17:47 +00:00
Rob Vermaas
0802559b03 hydra: do not perform git clone every time. in stead work on local clone and pull 2010-07-28 12:48:29 +00:00
Rob Vermaas
812689e523 use local clone to limit bandwidth usage 2010-07-27 18:06:47 +00:00
Rob Vermaas
6d028a8d43 missing file 2010-07-27 16:24:21 +00:00
Rob Vermaas
005e088637 missing case for hg input type 2010-07-27 16:17:06 +00:00
Rob Vermaas
125cf1dc5b missing case for hg input type 2010-07-27 16:09:35 +00:00
Rob Vermaas
06e0e80591 bug fix 2010-07-27 11:21:21 +00:00
Rob Vermaas
d6131fba50 initial support for mercurial 2010-07-27 11:14:24 +00:00
Rob Vermaas
4ad1fe0cf3 mark BUILD FAILED as error 2010-07-26 15:35:49 +00:00
Rob Vermaas
4d5476c4ca hydra: wrong order in diff between last succesful build and first broken build 2010-07-19 10:42:17 +00:00
Rob Vermaas
caa0f1a255 Hydra: In case of failure, also show changes between last succesful build and the first failed build after this 2010-07-14 07:31:14 +00:00
Rob Vermaas
33ef55815e Hydra/33: 'Sign in' should return to the referring page 2010-07-06 07:27:55 +00:00
Eelco Dolstra
b8b976fb9f * Remove trailing whitespace. 2010-06-22 13:24:11 +00:00
Eelco Dolstra
559a002fc7 * Ouch. 2010-06-22 12:12:43 +00:00
Eelco Dolstra
e35f0005e6 * Move NARs from the NixChannel controller to the Root controller and
drop the "/nix/store".  I.e. instead of

    http://hydra.nixos.org/jobset/nixpkgs/trunk/channel/latest/nar/nix/store/99djmii6l4yw9gn07zxqabh8z58pp84c-libmspack-0.0.20040308alpha.drv 

  we now have

    http://hydra.nixos.org/nar/99djmii6l4yw9gn07zxqabh8z58pp84c-libmspack-0.0.20040308alpha.drv 

  The main reason is that this is much faster, since we don't need to
  get all the channel data (which isn't used anyway for NAR
  generation).  This speeds up downloading a NAR from the Nixpkgs
  channel by > 2 seconds.

* Drop "Hydra::View::" from view names to get rid of an ugly warning.
2010-06-22 12:00:19 +00:00
Eelco Dolstra
dfd8b4406d 2010-06-21 23:48:25 +00:00
Rob Vermaas
5f7ebaad37 added hide feature for project/jobset 2010-06-04 14:43:28 +00:00
Rob Vermaas
b25761d7b2 hydra: added missing fields to query 2010-06-03 09:17:24 +00:00
Eelco Dolstra
4f5ed95bb9 * For ease of use during debugging, don't require --gc-roots-dir. 2010-06-01 11:20:05 +00:00
Eelco Dolstra
e2e4b49b98 * Pass `-j 1' to hydra_eval_jobs to ensure that it can make progress
even when all the remote build slots are in use.  The evaluator can
  cause builds if Nix expressions import derivations (e.g. in
  pkgs/build-support/vm to compute the RPM/Deb closures).  If there
  are no free build slots, the evaluator can hang for a long time.
2010-06-01 11:17:02 +00:00
Rob Vermaas
bb7f82840b Hydra: Add support for maxSilent meta attribute (also already added timeout, but not implemented the actual timeout for the build yet) 2010-05-26 08:03:59 +00:00
Rob Vermaas
9c42f60f08 Hydra: Allow all builds to be restarted. 2010-05-26 08:03:44 +00:00
Rob Vermaas
75bb591c03 Hydra/32: Add option to force evaluation of a certain jobset via web interface (for admins only) 2010-05-18 11:37:01 +00:00
Rob Vermaas
5e2c683f5b Hydra/29: Added timeout to svn/git checkouts, job evaluation 2010-05-18 11:00:34 +00:00
Eelco Dolstra
b59abaeb22 * Updated hydra_eval_jobs for the new evaluator. 2010-05-18 09:57:37 +00:00
Rob Vermaas
0c20748931 update jquery versions in templates 2010-05-18 09:25:59 +00:00
Rob Vermaas
239bad160f Hydra/31: "Duration" field broken in cached builds that are not in DB anymore 2010-05-18 07:19:52 +00:00
Rob Vermaas
56f05f2bdf Hydra/26: Go back to using "svn export" as default for svn, added svn-checkout type for jobset which need .svn dirs. export is much more efficient 2010-05-11 11:37:30 +00:00
Rob Vermaas
001113f7f9 Hydra/28: Rename "scheduler" to "evaluator" 2010-05-11 11:10:03 +00:00
Rob Vermaas
4550ced942 Hydra/28: Rename "scheduler" to "evaluator" 2010-05-11 11:09:58 +00:00
Rob Vermaas
368c4cd813 refactored admin controller, using chains, to avoid using requireadmin on each endpoint 2010-04-27 14:11:08 +00:00
Rob Vermaas
7a79d17a36 added newsitems, added some admin options to clear various caches. 2010-04-27 13:29:08 +00:00
Rob Vermaas
e18fe1078a rename var 2010-04-27 08:01:38 +00:00
Rob Vermaas
a9c2880cf6 Hydra/25: At job pages, show the hash of the output
* added hash of output path to the information tab on build page in stead
2010-04-27 07:55:19 +00:00
Rob Vermaas
2bfddaf4ae Hydra/23: added some X-headers with meta info in email notifications, added more descriptive status 2010-04-26 14:36:56 +00:00
Rob Vermaas
1d0598272e Hydra/17: in queue runner, prefer builds in the queue that are a dependency of another build (with higher priority) 2010-04-23 11:33:06 +00:00
Rob Vermaas
85928a4222 Hydra/20: Jobset clone feature 2010-04-23 11:20:40 +00:00
Rob Vermaas
2ef90804c6 Hydra/22: on job page, 'finished builds' shows nothing for old (non-current) jobs 2010-04-23 08:17:15 +00:00
Rob Vermaas
742846e476 Hydra/18: fixed uninitialized value error when logfile is null 2010-04-19 10:25:17 +00:00
Rob Vermaas
8fb3d901cb Merge branch 'queue-17' 2010-04-13 08:42:44 +00:00
Rob Vermaas
15c068007a * hdyra: remove debug thing 2010-03-29 07:12:52 +00:00
Rob Vermaas
c38eca41a8 deleted some old scripts 2010-03-23 20:04:01 +00:00
Rob Vermaas
cfc020f6e3 remove cvs from list because it is not implemented yet 2010-03-19 12:23:50 +00:00
Rob Vermaas
27a2a05f50 add some stats to jobsets in project view 2010-03-19 08:37:14 +00:00
Rob Vermaas
5d0bf48aa0 add some stats to jobsets in project view 2010-03-19 08:36:31 +00:00
Rob Vermaas
e2be1adc22 hydra: add status icon per jobset on project page 2010-03-18 15:59:24 +00:00
Rob Vermaas
ef34de7603 order jobset in project view 2010-03-18 15:15:14 +00:00
Eelco Dolstra
abfd6507b2 * Escape the outPath in the generated nixexpr.tar.bz2 in channels, because
store paths with `=' in them (such as 
  /nix/store/chj5wrbmi43zjx77svlr4lgnrqi9pwfy-guile-CPPFLAGS=-DSCM_DEBUG=1-1.9.8.113)
  broke it.
2010-03-17 16:49:52 +00:00
Rob Vermaas
056b3ca001 remove link to overall channel 2010-03-16 12:16:47 +00:00
Rob Vermaas
161b88cfd0 * hydra: on git ls-remote add refs/heads/ prefix to branchname to avoid other branches called master (or $branchname) 2010-03-15 10:02:30 +00:00
Rob Vermaas
2278aa87eb * hydra: robots.txt, also disallow logs for the actual builds 2010-03-12 08:50:56 +00:00
Eelco Dolstra
ba0c531f63 * Remove an empty file. 2010-03-10 15:20:06 +00:00
Rob Vermaas
2c132a2748 * hydra: project members can do stuff that the owner can do 2010-03-10 10:02:25 +00:00
Rob Vermaas
1c4585dae3 * hydra: project members can do stuff that the owner can do 2010-03-10 10:02:04 +00:00
Eelco Dolstra
f816a5a28d * Only include the system type in URLs if there are multiple jobs with
the same name.
2010-03-07 11:38:39 +00:00
Eelco Dolstra
b8a78b2c3f * Support linking to the latest job in a view for a specific platform, e.g.
http://.../view/nixos/tested/latest/iso-minimal-i686-linux.
2010-03-07 11:24:06 +00:00
Eelco Dolstra
c9ac5ee215 * I should test before committing. 2010-03-05 18:49:27 +00:00
Eelco Dolstra
c8f0758fe1 2010-03-05 18:43:34 +00:00
Eelco Dolstra
0f57fb8f88 2010-03-05 18:36:49 +00:00
Eelco Dolstra
72c44ab0ae * Allow dots in job names in views. 2010-03-05 18:08:53 +00:00
Eelco Dolstra
82a325a8cd * $currentBuilds{id} can be 0. 2010-03-05 17:48:00 +00:00
Eelco Dolstra
70466156e6 * In views, support selecting a job that doesn't depend on the
primary job, but is in the same jobset.
2010-03-05 17:20:04 +00:00
Eelco Dolstra
3501fa6465 * Cleanup. 2010-03-05 16:37:24 +00:00
Eelco Dolstra
da25c963eb * Clean up indentation. 2010-03-05 16:16:49 +00:00
Eelco Dolstra
7daca03e78 * Store jobset evaluations in the database explicitly. This includes
recording the builds that are part of a jobset evaluation.  We need
  this to be able to answer queries such as "return the latest NixOS
  ISO for which the installation test succeeded".  This wasn't previously
  possible because the database didn't record which builds of (say)
  the `isoMinimal' job and the `tests.installer.simple' job came from
  the same evaluation of the nixos:trunk jobset.

  Keeping a record of evaluations is also useful for logging purposes.
2010-03-05 15:41:10 +00:00
Eelco Dolstra
60ad8bd6d1 * Remove a debug statement. 2010-03-05 13:48:41 +00:00
Rob Vermaas
8e39abf914 * hydra: make warning lines darkorange 2010-03-05 13:32:56 +00:00
Rob Vermaas
4ab450458b * hydra: make warning lines darkorange 2010-03-05 13:29:34 +00:00
Rob Vermaas
b75de713e5 * hydra: reinstate proper error for non existing build, Hydra/9 2010-03-05 13:03:41 +00:00
Rob Vermaas
5be843667a * hydra: add warningLine class to log lines with warning attribute 2010-03-05 12:53:58 +00:00
Rob Vermaas
4b64329036 * hydra: correct header in jobstatus page of jobset 2010-03-05 11:43:02 +00:00
Eelco Dolstra
6fe9e1b03b * Cannot call isValidPath on a logfile. This happened to work because
isValidPath bypassed the Nix store API.
2010-03-05 10:53:49 +00:00
Eelco Dolstra
79a1489c95 * Remove the triggers to simulate foreign key constraints on SQLite,
as SQLite now supports them natively (though we still need to turn
  them on in Hydra).
2010-03-05 10:33:36 +00:00
Eelco Dolstra
b9c1f9aca7 * Call computeFSClosure() directly. 2010-03-04 14:15:13 +00:00
Eelco Dolstra
934fbc868f * Fix building hydra_eval_jobs against the sqlite branch. 2010-03-04 13:26:28 +00:00
Eelco Dolstra
00b2f7c141 * Don't access /nix/var/nix/db directly but use the Nix Perl bindings. 2010-03-04 13:25:12 +00:00
Rob Vermaas
ceeba31320 * hydra: show finish time on build status overview 2010-03-01 10:29:05 +00:00
Rob Vermaas
052ce8c577 * hydra: only show current jobs in status overview of jobset page 2010-03-01 10:10:20 +00:00
Rob Vermaas
ede90a9ef0 * hydra: alphabetical order of systems in status overview 2010-02-26 09:14:49 +00:00
Rob Vermaas
ba60d69e06 missing file 2010-02-26 07:38:54 +00:00
Rob Vermaas
7208f79828 inital version of links to diff in scm 2010-02-25 15:32:56 +00:00
Rob Vermaas
1691f3b9ae remove useless url in changes overview 2010-02-25 14:02:13 +00:00
Rob Vermaas
7820346962 * hydra: more minor css tweaks 2010-02-25 13:43:29 +00:00
Rob Vermaas
557805a21a * hydra: ui bug 2010-02-25 13:17:11 +00:00
Rob Vermaas
31f68756c5 fix wrong dbix:class:loader generation 2010-02-25 10:22:03 +00:00
Rob Vermaas
4dccd3c620 generated schema with new dbix class schema loader, grrrrrr 2010-02-25 09:50:04 +00:00
Rob Vermaas
87ea0cb2b9 fix wrong comment 2010-02-25 09:22:00 +00:00
Rob Vermaas
7f1908a938 * hydra: changes in list in stead of table, also showing changes of changed 'build output' inputs 2010-02-25 09:17:17 +00:00
Rob Vermaas
8678da61ef * hydra: order project list on name 2010-02-25 09:02:48 +00:00
Rob Vermaas
34a1dfefc9 * hydra: layout changes, forgot something 2010-02-24 15:08:42 +00:00
Rob Vermaas
f0706a75a2 * hydra: layout changes 2010-02-24 15:06:20 +00:00
Rob Vermaas
a1c7e359be * hydra: indentation and fixed duplicate key in cachedgitinputs bug 2010-02-24 08:09:58 +00:00
Rob Vermaas
63acc9fb1c * hydra: do not show build history if there are no previous builds 2010-02-23 13:47:24 +00:00
Rob Vermaas
3ff2934400 * hdyra: show last succeeded build and changes since on build status summary if build has failed 2010-02-23 13:08:58 +00:00
Rob Vermaas
529a6cf6eb * hydra: buildpage, show changes since last build/successful build 2010-02-22 13:21:34 +00:00
Rob Vermaas
fb8ab7a574 * hydra: download closure now makes closure of outpath in stead of useless drvpath 2010-02-18 15:09:13 +00:00
Eelco Dolstra
77d4a8c027 * Keep the 3 most recent builds for every platform for every job.
Previously it just kept the 3 most recent builds for every job
  (contrary to what the comment said).
2010-02-15 10:21:11 +00:00
Eelco Dolstra
12edc4b8e2 * Speed up the jobstatus query a little bit. 2010-02-12 20:51:24 +00:00
Eelco Dolstra
d8cc0bbb5d * Make the "latest succeeded" query (used by the "latest" channel)
faster, from about 4.5s to 1.0s for the global "latest" channel.
  Note that the query is only fast if the "IndexBuildsOnJob" and
  "IndexBuildsOnJobAndIsCurrent" indices are dropped - if they exist,
  PostgreSQL will use those instead of the more efficient
  "IndexBuildsOnJobFinishedId" index.  Looks like a bug in the planner
  to me...
2010-02-12 14:49:32 +00:00
Rob Vermaas
9cebf03a45 * hydra: queue stats (nr running builds / nr queued builds) 2010-02-12 10:19:24 +00:00
Rob Vermaas
68c60b4c66 * hydra: added index, actual build time (buildstep with same outpath, so without deps) of the build 2010-02-11 12:23:46 +00:00
Eelco Dolstra
14a1e6db61 * More indices. 2010-02-11 10:42:37 +00:00
Rob Vermaas
bfa7804f50 * hydra: show running buildsteps on build page 2010-02-11 10:18:57 +00:00
Rob Vermaas
3753ccb1ce * hydra: make chart zoomable and clickable 2010-02-11 09:18:30 +00:00
Eelco Dolstra
6dd87f5851 * Typo. 2010-02-10 12:27:16 +00:00
Rob Vermaas
f44128275c * hydra: added initial version of build graph 2010-02-10 10:15:09 +00:00
Eelco Dolstra
a7d132ff2a * Escape +', =' and `?' in NAR URIS in manifests. Otherwise you get
an incorrect URI that gives a 410 error.
2010-02-09 16:11:35 +00:00
Eelco Dolstra
6dd53655a5 * Omitting the template name doesn't work everywhere. 2010-02-09 15:51:33 +00:00
Eelco Dolstra
6c35801173 * Shut up a harmless warning about an uninitialised variable. 2010-02-09 14:10:16 +00:00
Eelco Dolstra
9409d20f39 * Make the "all" page faster by not doing four identical `select
count(*) ...' queries.  The reason for this is that

    my $nrBuilds = scalar($c->stash->{allBuilds}->search({finished => 1}));

  doesn't return an integer, but some magical code reference that when
  evaluated performs the query and returns an integer.  So every use
  of $nrBuilds in all.tt caused another query.  OTOH using ...->count
  causes only one query.

  However count(*) still involves a full table scan, so it's still
  suboptimal.
2010-02-09 14:08:45 +00:00
Eelco Dolstra
59e4f65298 * Speed up the jobset index page. Especially the query to get the
inactive jobs was quite slow.
* "IndexBy" -> "IndexOn".
2010-02-09 13:47:20 +00:00
Rob Vermaas
4abdf86bd4 hydra: remove print stmt 2010-02-09 13:45:38 +00:00
Rob Vermaas
090a648020 hydra: minor improvements in hydra ui 2010-02-09 13:43:53 +00:00
Eelco Dolstra
fabc8e4774 * Disable the statistics on the project, jobset and job pages for now
because they take too much time to compute.
2010-02-09 12:35:20 +00:00
Rob Vermaas
324cac9ae9 * hydra: remove excess layout 2010-02-08 14:05:30 +00:00
Rob Vermaas
88ffadb70e * hydra: handle case where logfile is empty 2010-02-08 11:46:39 +00:00
Rob Vermaas
f57b40101a hydra: error on buildpage for queued build 2010-02-06 07:15:31 +00:00
Rob Vermaas
348db7600c * hydra: on build page, show tail of log on first tab when buildstatus == 1 (this specific build failed) 2010-02-05 20:32:07 +00:00
Eelco Dolstra
045d921f7d * Argh. 2010-02-05 20:24:20 +00:00
Eelco Dolstra
a22946abe7 * When a store path has disappeared for some reason,
../nix/<storepath> should return a HTTP error.  Otherwise,
  mirror-channel.pl will happily mirror the error page.
2010-02-05 20:08:41 +00:00
Eelco Dolstra
9b25d7b299 * A `nix-build' Hydra product must be a directory. 2010-02-05 20:07:49 +00:00
Rob Vermaas
61ad98f982 revert change to dbix::class generated code 2010-02-05 19:41:26 +00:00
Rob Vermaas
9dba2127cb * hydra: 'new' UI for project/jobset/job/build 2010-02-05 14:48:22 +00:00
Rob Vermaas
3677a5fc6e * hydra: updated jquery version, needed for tabs (to be added later) 2010-02-01 12:07:26 +00:00
Eelco Dolstra
9f9e18e3a6 2010-01-26 20:27:33 +00:00
Eelco Dolstra
268364bfd8 2010-01-26 20:19:25 +00:00
Eelco Dolstra
0c5f8dfb47 * Another essential index. 2010-01-26 20:03:20 +00:00
Ludovic Courtès
e1f45498c9 Set $NIX_PREFETCH_GIT_DEEP_CLONE. 2010-01-25 13:26:37 +00:00
Rob Vermaas
eec5838a7e * hydra: add deps list to pages not to be indexed by google etc 2010-01-22 14:44:09 +00:00
Rob Vermaas
b615135825 * hydra: add dependency list with links to logfiles 2010-01-22 13:31:59 +00:00
Rob Vermaas
7315480acd * hydra: show queue optimization 2010-01-22 10:31:08 +00:00
Rob Vermaas
c791485099 * hydra: show queue optimization 2010-01-22 10:29:54 +00:00
Rob Vermaas
2aa1fb5ead * hydra: fix for dead link in context bar of build 2010-01-20 10:53:54 +00:00
Eelco Dolstra
f468caf192 2010-01-19 17:59:13 +00:00
Eelco Dolstra
4b0bc65cbb * Add derivations and all build-time dependencies of a build to the
Hydra channels.  This includes sources.
2010-01-19 16:47:32 +00:00
Eelco Dolstra
a2a041303f * Handle the case where there is no cached build step that produced
outpath.  This can happen if the build was performed outside of
  Hydra.
2010-01-19 16:35:16 +00:00
Rob Vermaas
3b504b2370 * hydra: added variant of build input type, 'build output (same system)' to allow better continous integration in one jobset for multiple system. it makes sure that the system of the build that is passed as input for a job has the same system as the job. 2010-01-19 14:15:31 +00:00
Rob Vermaas
63db13be3f hydra: in case of cached build, add link to build that built the storepath 2010-01-15 14:18:12 +00:00
Rob Vermaas
3bed0863a5 bigger min-height, max-width for page 2010-01-13 14:33:23 +00:00
Rob Vermaas
0b031c320a fix for clone build with build as input 2010-01-13 09:36:20 +00:00
Rob Vermaas
4a9234bc1d probably shouldn't leave in the debug statements 2010-01-12 08:40:41 +00:00
Rob Vermaas
3763748dbb revert unmeant previous change which caused errors to stay, even after successful evaluation of jobs 2010-01-12 08:39:30 +00:00
Rob Vermaas
13c8953918 * removed stats from home page. will make global stats page later on 2010-01-11 10:07:10 +00:00
Rob Vermaas
54d8722740 * in topbar, use 'Projects' in stead of 'Overview' 2010-01-08 12:30:09 +00:00
Rob Vermaas
fe8a376864 show current builds on job page 2010-01-08 11:50:55 +00:00
Rob Vermaas
67f468e0a3 - adapted ui for hydra, more in line with nixos.org website 2010-01-07 14:25:12 +00:00
Rob Vermaas
791a6eddd6 hack to try and prevent too many newlines 2010-01-07 13:53:05 +00:00
Rob Vermaas
1c0d34d395 removed debug print, added last 50 lines in failure emails 2010-01-06 13:57:41 +00:00
Rob Vermaas
8a01999220 hydra
* remove trailing spaces from email notification
 * option to disable email notification for jobset
2010-01-06 13:07:59 +00:00
Rob Vermaas
044edfb764 * email notification of evaluation errors to project owner (if desired) 2009-12-18 12:07:45 +00:00
Ludovic Courtès
d6416ada4e Set $NIX_PREFETCH_SVN_LEAVE_DOT_SVN to 1. 2009-12-03 15:03:06 +00:00
Rob Vermaas
565463d7e8 * hydra: wider timeline 2009-12-02 07:17:44 +00:00
Rob Vermaas
e322cb1304 first try for timeline of last 24 hours in hydra 2009-12-01 19:17:38 +00:00
Rob Vermaas
f99b1ee9b1 first try for timeline of last 24 hours in hydra 2009-12-01 19:15:09 +00:00
Eelco Dolstra
2816b828e9 2009-11-30 15:19:35 +00:00
Rob Vermaas
993dcd9348 mark lines with FAILURE as error 2009-11-30 11:43:43 +00:00
Eelco Dolstra
e1487ea7df 2009-11-27 16:47:35 +00:00
Rob Vermaas
42c7bb57e8 * hydra: enable pp'ing of logs for bigger files again 2009-11-25 09:39:03 +00:00
Rob Vermaas
94634773b1 support git branches as input in stead of only master branch 2009-11-23 13:38:27 +00:00
Rob Vermaas
06dc6d8f86 * for git inputs, check latest revision of branch (defaults to master for now), if there is change, only use input if last checkout was > hour ago. 2009-11-19 08:15:49 +00:00
Ludovic Courtès
2b5ef66111 Ask nix-prefetch-git' to leave .git' in the output. 2009-11-18 16:42:35 +00:00
Ludovic Courtès
cdfc96194c Use $NIX_PREFETCH_GIT_CHECKOUT_HOOK to produce a `.git-version' file. 2009-11-18 16:25:47 +00:00
Rob Vermaas
f55e0444c9 project with 0 build resulted in error 2009-11-18 12:59:58 +00:00
Rob Vermaas
40920935fc remove revision from cached cvs inputs, and added missing files 2009-11-17 15:24:51 +00:00
Rob Vermaas
2fb05b34bf add support for git as jobinput 2009-11-17 15:16:41 +00:00
Eelco Dolstra
7eda090e74 * Prevent repeated evaluation of a jobset with the same inputs. This
should make the Hydra scheduler a lot less CPU-intensive, since it
  won't run hydra_eval_jobs all the time.
2009-11-17 13:55:22 +00:00
Eelco Dolstra
2bcedde1c8 * Sort releases. 2009-11-04 17:17:44 +00:00
Eelco Dolstra
56754b1817 2009-11-04 17:16:14 +00:00
Eelco Dolstra
6869591f63 * Use a table. 2009-11-04 14:41:19 +00:00
Eelco Dolstra
3e5e49debd * Allow a view result to be saved as a release. 2009-10-27 15:31:26 +00:00
Eelco Dolstra
9aa70716ad 2009-10-26 17:03:48 +00:00
Eelco Dolstra
e25f112b82 * Implemented the clone feature. 2009-10-26 17:01:23 +00:00
Eelco Dolstra
f72367407a * Some renaming. 2009-10-26 15:55:19 +00:00
Eelco Dolstra
e1373fa1c3 * Refactoring: move fetchInput out of hydra_scheduler into a separate
module, since Controller/Build.pm needs it to create a new build.
2009-10-26 15:39:14 +00:00
Eelco Dolstra
57cc6ceca6 * UI for cloning builds (not functional yet). 2009-10-26 14:30:42 +00:00
Eelco Dolstra
cd27c046b0 * Fix an apparent incompatibility with recent DBIx::Class. 2009-10-26 13:55:54 +00:00
Eelco Dolstra
3e8d85ecb0 2009-10-26 13:39:03 +00:00
Eelco Dolstra
cb2493eca9 * Store the jobset's nixExprPath and nixExprInput fields in a build to
allow it to be cloned (re-executed with modified inputs) later and
  to provide some traceability.
2009-10-26 13:33:48 +00:00
Eelco Dolstra
69f290413c * Do not garbage collect releases. 2009-10-26 12:47:29 +00:00
Eelco Dolstra
1038e2ebee * Allow the description of a release member to be edited, and to
delete a release member.
2009-10-26 12:04:12 +00:00
Eelco Dolstra
578e37d55c * Only non-garbage collected builds can be added to a release. 2009-10-26 10:46:57 +00:00
Eelco Dolstra
f984eed77b * Align the apply/delete buttons. 2009-10-26 10:35:59 +00:00
Eelco Dolstra
7e81fbd56a * A quick (non-Web 2.0) interface to manually add builds to a release. 2009-10-23 15:57:18 +00:00
Eelco Dolstra
a515c5fef2 2009-10-23 15:05:16 +00:00
Eelco Dolstra
d1bea30cfc * Editing releases. 2009-10-23 12:42:50 +00:00
Eelco Dolstra
851a4dff4d * Creating releases. 2009-10-23 09:58:23 +00:00
Eelco Dolstra
929cbe7b7c * Adding persistant releases. A release is a named set of builds. 2009-10-21 15:44:17 +00:00
Eelco Dolstra
a835bb532f 2009-10-21 13:48:47 +00:00
Eelco Dolstra
686b6271d2 * Cleaned up the foreign key constraints.
* Generate SQLite and PostgreSQL schemas from hydra.sql.
2009-10-21 12:25:43 +00:00
Eelco Dolstra
2cf42489e2 * More renaming. 2009-10-20 12:35:01 +00:00
Eelco Dolstra
321027b262 * More release -> view. 2009-10-20 12:26:39 +00:00
Eelco Dolstra
8f9417f822 * Be a bit less aggressive in rescheduling builds that have already
been done.
2009-10-19 12:36:15 +00:00
Eelco Dolstra
cec3201720 * Renaming "release sets" to "views" (not finished yet). Having
releases as a dynamic view on the database was misguided, since
  doing thing like adding a new job to a release set will invalidate
  all old releases.  So we rename release sets to views, and we'll
  reintroduce releases as separate, static entities in the database.
2009-10-15 21:35:19 +00:00
Rob Vermaas
3ebe5e1069 2009-10-15 13:35:52 +00:00
Rob Vermaas
1c5ab05521 * added support for twitter notification
3 environment variables are important: 
      TWITTER_USER
      TWITTER_PASS
      HYDRA_BUILD_BASEURL
   - twitter notification is off when TWITTER_USER and TWITTER_PASS are not defined
   - if HYDRA_BUILD_BASEURL is not defined, no URL is put in the twitter messages
2009-10-15 13:23:15 +00:00
Eelco Dolstra
3e03ac9a7c * Move the links to the channels up in the page. 2009-10-15 13:02:04 +00:00
Eelco Dolstra
dd12113eb2 * Pass the page number in the URI query string. 2009-10-15 12:59:55 +00:00
Rob Vermaas
d109910453 * paging for releases page 2009-10-15 11:13:36 +00:00
Eelco Dolstra
903ca3b246 * Make download-by-type more deterministic when there are multiple
files of the same type.
2009-10-12 17:07:36 +00:00
Eelco Dolstra
ee31b6e3df * Don't catch all errors. Some errors mess up the connection with the
Nix daemon:

    at `debootstrap' [system = "i686-linux"]:
    getting attributes of path `/nix/store/dmhydkv6y1l4wpz4wq8qkf0fnlrhjr3l-svn-export/pkgs/tools/misc/debootstrap/subst.patch': No such file or directory

    at `debootstrap' [system = "x86_64-linux"]:
    writing to file: Broken pipe

  etc.
2009-10-08 12:29:20 +00:00
Eelco Dolstra
71bc5b14a0 * Add --fallback to prevent problems with obsolete substitutes. 2009-10-08 11:51:49 +00:00
Eelco Dolstra
6cedee5476 * Allow jobsets to be disabled. 2009-10-08 11:39:16 +00:00
Eelco Dolstra
158a746e94 * Don't bother with the Jobs.active column anymore. 2009-10-08 11:19:39 +00:00
Eelco Dolstra
f158697796 * Shut up DBIx::Class. 2009-10-08 11:19:17 +00:00
Eelco Dolstra
08f3b7bf2a * Use isCurrent to determine the inactive jobs. 2009-10-08 08:54:42 +00:00
Eelco Dolstra
16f2d003b2 * In the last succeeded / job status queries, use the Builds.isCurrent
column instead of Jobs.active.
2009-10-07 15:45:17 +00:00
Eelco Dolstra
48d8871dbc * Only show status changes from successful to failed and failed to
successful (not between different kinds of failure).
2009-10-07 13:59:12 +00:00
Eelco Dolstra
7ae263a23a * Make the queries more readable. 2009-10-07 13:40:58 +00:00
Eelco Dolstra
076ef05578 * In the scheduler, don't check if we've already done a build (except
against the set of current builds for the job).  This ensures that
  the builds with the highest ID are what we want in the channel, even
  in case of reverts.
2009-10-07 13:18:12 +00:00
Eelco Dolstra
05c7989c3e * Don't show platforms that are not included in the current jobset. 2009-10-02 17:11:28 +00:00
Eelco Dolstra
e9cf409d80 * Mark the "current" builds in a jobset, i.e. those corresponding to
the derivations that the jobset currently contains.  This is
  necessary to allow the "latest" channel to contain the correct
  builds when the sources of a jobset are reverted.
2009-10-02 16:06:28 +00:00
Eelco Dolstra
9d99bb3342 * Split the CSS. 2009-10-02 14:00:37 +00:00
Eelco Dolstra
117be5182c * Don't show the job menu. 2009-09-30 13:13:43 +00:00
Eelco Dolstra
2613d8721a * Don't crawl the channel pages, particularly because the "all"
channel can be very large.
2009-09-30 12:26:51 +00:00
Rob Vermaas
87f3fbaab1 extra indexes 2009-09-30 12:17:55 +00:00
Rob Vermaas
d7713b4dba * Add nix version to footer of hydra pages 2009-09-01 08:50:51 +00:00
Eelco Dolstra
cbeccda5eb * Typo. 2009-08-12 13:50:59 +00:00
Eelco Dolstra
5e72c17540 * Include more info in notification emails. 2009-08-12 13:31:27 +00:00
Eelco Dolstra
c1e6797d39 * Allow overriding the sender email address. 2009-07-24 18:06:34 +00:00
Rob Vermaas
f89644ddb7 time out to 3600 for now 2009-07-13 11:42:56 +00:00
Eelco Dolstra
1cc99505b7 2009-07-10 14:43:21 +00:00
Eelco Dolstra
abe0a8eb9d * Get the URI for use in notification mails from the Hydra config
file.
2009-07-10 09:47:42 +00:00
Eelco Dolstra
b1289533e6 * More database hackery. 2009-07-09 15:26:55 +00:00
Eelco Dolstra
fa364fa333 * PostgreSQL compatibility. 2009-07-09 15:08:39 +00:00
Eelco Dolstra
1aec78014d * In the job status and error pages, show when the status of a job
last changed.
2009-07-09 14:48:15 +00:00
Eelco Dolstra
bbf718e64d * Revert for now due to Postgres breakage. 2009-07-09 10:53:31 +00:00
Eelco Dolstra
44454ebeac * Send email if a build fails. 2009-07-08 15:52:55 +00:00
Eelco Dolstra
3119cc7edc 2009-07-07 16:15:38 +00:00
Eelco Dolstra
24a3b39463 * Store meta.maintainers. 2009-07-07 14:33:51 +00:00
Eelco Dolstra
5bdd5e7152 * Added a maintainers field to the Builds table.
* Regenerated the schema bindings with the latest DBIx::Class.
2009-07-07 13:59:59 +00:00
Eelco Dolstra
6bcdfc8a1f 2009-07-07 13:20:00 +00:00
Eelco Dolstra
3e192cbb90 * Support showing the contents of ISO images (using isoinfo in
cdrkit).
2009-07-07 11:37:47 +00:00
Rob Vermaas
1da4f89eae * added jar to 'contents' list 2009-06-18 13:23:04 +00:00
Rob Vermaas
e457be469c sequence fix for postgresql 2009-05-11 13:56:52 +00:00
Rob Vermaas
b52796feac check getHydraPath in stead of Envvar HYDRA_DBI directly 2009-05-09 16:10:50 +00:00
Rob Vermaas
f1611a7edd check if HYDRA_DBI is defined in stead of empty string comparison 2009-05-09 16:00:08 +00:00
Rob Vermaas
f2a1fb3937 Added sequences for auto increment primary key columns (for PostgreSQL) 2009-05-07 13:30:55 +00:00
Eelco Dolstra
cd80952a45 * Move up the build products in the builds page, since they're more
likely to be of interest than the build inputs and build steps.
2009-05-07 13:19:46 +00:00
Eelco Dolstra
dda984cf16 * Add an icon for PDFs. 2009-05-07 13:15:10 +00:00
Rob Vermaas
a509694220 Hydra now uses an optional HYDRA_DBI environment variable which holds the DBI url. If this variable is not set, sqlite is used like before. 2009-04-29 11:07:46 +00:00
Rob Vermaas
d774cd6f18 changed queries for compatibility with postgresql 2009-04-28 14:21:33 +00:00
Eelco Dolstra
469893cd4a * The "latest" channel shouldn't contain inactive jobs. 2009-04-25 11:41:46 +00:00
Eelco Dolstra
000fffeb11 2009-04-25 11:27:46 +00:00
Eelco Dolstra
3c47a11bd9 * Don't disable fsync in production. 2009-04-25 07:48:30 +00:00
Eelco Dolstra
109cc35edf * Randomly permute the order in which builds are added. This is
mainly to prevent all those Nixpkgs builds named "kde*" from
  building at the same time.  Since they all have the same slow
  dependencies (qt, kdelibs) this tends to block the buildfarm.
2009-04-23 15:40:36 +00:00
Eelco Dolstra
c48ec3d340 * Autoflush stdout. 2009-04-22 22:59:54 +00:00
Eelco Dolstra
97a6011628 * Hack around those SQLite timeouts: just retry the transaction. 2009-04-22 22:43:04 +00:00
Eelco Dolstra
80691a39f5 * Don't log redundant build steps in case of cached failures. 2009-04-22 14:41:12 +00:00
Eelco Dolstra
018585dba8 * In the job status page and the channels, pick the build with the
highest ID rather than the highest timestamp.  Otherwise, if a build
  from revision N finishes after a build from revision N + 1, then
  the build from revision N will end up in the channel.  Thus, the
  channel contents will be out of sync.

  This is still not quite correct: if a revision *reverts* to an older
  build, the channel will still end up out of sync, because Hydra
  won't schedule the build again (after all, it has already done it).
  A better fix would be to add a separate timestamp denoting when the
  build was last "current" (i.e. corresponding to the "head revision"
  of its job).
2009-04-22 13:55:20 +00:00
Eelco Dolstra
4d699c97fd * Don't do pretty printing for large logs, because the XSLT processing
is rather slow.
2009-04-16 15:22:14 +00:00
Eelco Dolstra
d6bd9bab5f * Job status / error pages: show only active jobs. 2009-04-15 14:50:15 +00:00
Eelco Dolstra
2a05522189 * Don't index any of the logs (mostly because xsltproc can be a huge
resource hog).
2009-04-14 12:40:00 +00:00
Eelco Dolstra
28fde34b9c 2009-04-09 15:09:00 +00:00
Eelco Dolstra
10ae24fd3c * Fixed a broken redirect when deleting a release set. 2009-04-09 11:43:49 +00:00
Eelco Dolstra
607d5641b6 * Added a page to quickly see all failed builds and failed evaluations
per project or jobset or job or globally.
2009-04-08 22:08:00 +00:00
Eelco Dolstra
bf2a5a2629 * Allow omitting the product number if there is only one product in a
build.  This allows URLs like

    http://server/job/patchelf/trunk/deb_debian40i386/latest/download

  or

    http://server/release/patchelf/unstable/latest/deb_debian40i386/download
2009-04-08 09:37:05 +00:00
Eelco Dolstra
11d8421def * Support redirecting to some job of a release. For instance, this
redirects to the "tarball" build of the latest release of
  patchelf/unstable:

    http://server/release/patchelf/unstable/latest/tarball

  In conjunction with the other redirects this allows linking to the
  actual download of the build:

    http://server/release/patchelf/unstable/latest/tarball/download-by-type/file/source-dist
2009-04-08 09:03:45 +00:00
Eelco Dolstra
26ff5f1ff0 * Provide some redirects to build products by type so that we can for
example link to the latest tarball through a URI like:

    http://server/job/patchelf/trunk/tarball/latest/download-by-type/file/source-dist
2009-04-08 08:09:39 +00:00
Eelco Dolstra
f9572e4d1e * Provide some redirects to the latest successful build for a job (or
project, or jobset, or globally, but that's not all that useful).
  This is useful if you want to link to the latest build.
2009-04-07 15:49:02 +00:00
Eelco Dolstra
16a84f4bf5 * Big speed-up of the job status page and the channel generation (such
as the manifest).  The builds are now determined in one SQL query
  rather than a zillion ones.
2009-04-03 15:37:21 +00:00
Eelco Dolstra
ca11aba074 * Fix an infinite recursion. 2009-04-03 09:13:34 +00:00
Eelco Dolstra
0ae979f652 2009-04-03 09:12:36 +00:00
Eelco Dolstra
09944ed3a2 * Forgot to commit. 2009-04-03 08:38:13 +00:00
Eelco Dolstra
753e56b6eb * Improved the navigation bar: don't include all projects (since that
doesn't scale), and include links for jobset/job specific pages.
  The main page now lists the projects.
* Overview pages for jobsets and jobs.
* Links to the channels.
* Jobsets are now defined and edited in a separate action.
2009-04-02 16:15:57 +00:00
Eelco Dolstra
db4ce0df06 2009-03-31 16:09:04 +00:00
Eelco Dolstra
c970fc8335 * Urgh. 2009-03-31 15:59:47 +00:00
Eelco Dolstra
c39a693afd * Generate SVG instead of PNG, which is much faster and smaller. I
tried this before but the text didn't fit in the boxes in Firefox.
  The solution is to use Graphviz' svg:cairo backend instead of svg.
  svg:cairo doesn't depend on client-side fonts.
2009-03-31 15:59:31 +00:00
Eelco Dolstra
a6c32b33db 2009-03-31 14:55:47 +00:00
Eelco Dolstra
156f40130e * Generate robots.txt in a more Catalystic way. 2009-03-31 14:14:45 +00:00
Eelco Dolstra
d6e996d01c * Generate a robots.txt. 2009-03-31 13:48:03 +00:00
Eelco Dolstra
7b7c3f2265 * Perl sucks. "getBuildLog $drvPath" doesn't mean the same as
"getBuildLog($drvPath)" if you call it in a hash, and quietly screws
  up the rest of the hash.
2009-03-26 15:32:19 +00:00
Eelco Dolstra
f0f9f12e42 * Use Nix's negative caching. 2009-03-26 12:53:39 +00:00
Eelco Dolstra
8f6f6ee53e * Allow authorised users to create projects. 2009-03-24 14:22:59 +00:00
Eelco Dolstra
c75977ce5a * Record the input containing the Nix expression (release.nix) in the
build inputs.  Otherwise we can't (for example) reproduce a build
  later.
2009-03-23 21:42:59 +00:00
Eelco Dolstra
dab25b30f0 * Fix the queue page. 2009-03-23 15:19:34 +00:00
Eelco Dolstra
12c1d90135 * Add some DB indices to make the /releases page much faster.
* Reduce the number of DB queries for the /all and /jobstatus pages.
* Show the Hydra version number.
2009-03-23 13:52:24 +00:00
Eelco Dolstra
0da0384753 * Top-level: don't exit on errors. 2009-03-23 01:13:37 +00:00
Eelco Dolstra
d9424b6364 * Show the input bindings in evaluation error messages. 2009-03-20 17:06:50 +00:00
Eelco Dolstra
3d26bb7fd1 * Allow `-' in release set names. 2009-03-20 15:19:17 +00:00
Eelco Dolstra
2755c895ff * In job inputs of type "build", allow the project and jobset names of
the input build to be specified, as well as constraints on the
  inputs of the inputs build.  For instance, you can require that a
  build has input `system = "i686-linux"'.

  This is important when one binary build serves as an input to
  another binary build.  Obviously, we shouldn't pass a build on
  i686-linux as an input to another on i686-darwin.  Hence the
  necessity for constraint.

  The constraint are currently quite limited.  What you really want to
  say is that the "system" input of the other build has to match the
  "system" input of this build.  But those require a bit more work
  since they introduce dependencies between inputs.
2009-03-20 14:50:09 +00:00
Eelco Dolstra
d1affbfe1a * Oops. 2009-03-20 10:26:50 +00:00
Eelco Dolstra
e076c0cff4 * Catalyst::View::Download::Plain doesn't like empty files. 2009-03-20 10:26:26 +00:00
Eelco Dolstra
d13af4f392 * Doh. 2009-03-20 10:19:46 +00:00
Eelco Dolstra
163f3de2fa * Urgh. `-' had special significance in HTML form parameters... 2009-03-19 15:41:33 +00:00
Eelco Dolstra
af1e60a043 * Allow `-' in project/jobset names. 2009-03-19 15:12:50 +00:00
Eelco Dolstra
ba7b94a852 2009-03-18 18:50:42 +00:00
Eelco Dolstra
9e4b029285 * A quick hack to list the contents of various types of files (RPM,
Debs, tars, ...).
2009-03-18 17:40:12 +00:00
Eelco Dolstra
b39e2c5e32 * Doh. 2009-03-18 17:13:13 +00:00
Eelco Dolstra
702da969a6 * Ordering by timestamp isn't a good idea here since a newer revision
might finish building before an older revision, and therefore have a
  lower timestamp.
2009-03-18 16:46:01 +00:00
Eelco Dolstra
a1848b08f2 2009-03-16 17:51:42 +00:00
Eelco Dolstra
bf1480cc25 * Doh. 2009-03-16 17:46:46 +00:00
Eelco Dolstra
5853a26b13 * Don't discard old build steps when restarting a build. 2009-03-16 16:56:47 +00:00
Eelco Dolstra
a6e84d8431 * Option to show the tail of a log. 2009-03-16 12:16:33 +00:00
Eelco Dolstra
54475b9266 * When marking a build as "keep", register it as a root right away
(don't wait for someone to run hydra_update_gcroots), otherwise it
  may still be GC'ed.
2009-03-16 10:57:44 +00:00
Eelco Dolstra
d2fc382498 * Register GC roots properly. 2009-03-15 11:56:11 +00:00
Eelco Dolstra
32f0665d2c * Allow users to change the value of a build's "keep" flag, which
prevents the build output from being garbage collected.
2009-03-14 23:56:57 +00:00
Eelco Dolstra
eeddf5752d * Provide access to the raw, non-pretty-printed logfiles.
Unfortunately necessary for large logs.
2009-03-14 23:27:08 +00:00
Eelco Dolstra
4404800ad8 * Release sets: need to include the jobset name to disambiguate
between jobs with the same name from different jobsets (e.g. trunk
  vs. branch).
2009-03-14 22:34:22 +00:00
Eelco Dolstra
7c7c43335d * Job status: show the active jobs. 2009-03-13 17:32:08 +00:00
Eelco Dolstra
2ece4d9f15 * Render durations nicely. 2009-03-13 16:04:49 +00:00
Eelco Dolstra
107a0faa51 * PROCESS -> INCLUDE in most cases. INCLUDE does proper scoping of
variables.
2009-03-13 15:57:43 +00:00
Eelco Dolstra
3c86b3652c * Refactoring. 2009-03-13 15:41:19 +00:00
Eelco Dolstra
3af294f848 * Make jobsets viewable under
http://server/jobset/<project>/<jobset>.
2009-03-13 15:23:08 +00:00
Eelco Dolstra
ae364b9e5f * Represent jobs explicitly in the DB. 2009-03-13 14:49:25 +00:00
Eelco Dolstra
a39a28dffb 2009-03-13 12:45:45 +00:00
Eelco Dolstra
81bdc4cfa2 2009-03-13 12:29:47 +00:00
Eelco Dolstra
f2f586d842 * Disambiguate jobs by jobset name. I.e. jobs with the same name in
different jobsets are not considered the same job.
2009-03-12 23:46:17 +00:00
Eelco Dolstra
a623ad157e * Add the name of the jobset to ReleaseSetJobs, otherwise we can't
distinguish between jobs with the same name in different jobsets
  (e.g. "trunk" vs "stdenv-branch" for Nixpkgs).
* Renamed the "attrName" field of Builds to "job".
* Renamed the "id" field of BuildSteps to "build".
2009-03-12 14:18:30 +00:00
Eelco Dolstra
fec08462ee * In Sqlite "release" is now a keyword, so use "release_" instead.
Note: to upgrade old databases, do a dump with an old Sqlite first;
  dumping with a new Sqlite will silently discard (!) the contents of
  the ReleaseSetJobs table.
2009-03-12 13:42:44 +00:00
Eelco Dolstra
70276f59ea * Remove redundant -fork. 2009-03-11 15:52:39 +00:00
Eelco Dolstra
f945fbb5bd * Use Catalyst's HTTP::Prefork engine by default, with some limits to
prevent the server from being overloaded.
2009-03-11 15:48:06 +00:00
Eelco Dolstra
8b752627a2 * Use IO::Handles instead of old school filehandles. This ensures
that the pipe gets closed, and the child process dies, if the HTTP
  connection is prematurely interrupted.
2009-03-11 14:44:34 +00:00
Eelco Dolstra
7ea69e7a9d * Disregard failing substituters. 2009-03-10 11:49:18 +00:00
Eelco Dolstra
18f25a1226 * Doh. 2009-03-10 08:52:42 +00:00
Eelco Dolstra
54a122b49c * DB integrity: when deleting a build, get rid of its build steps. 2009-03-10 08:35:39 +00:00
Eelco Dolstra
6dc9e45fc8 * Doh. 2009-03-09 17:37:57 +00:00
Eelco Dolstra
fca7fb20c4 * Negative caching: don't perform a build if a dependency already
failed in a previous build.  This is essential for Nixpkgs: we don't
  want to keep doing the same failed dependency (say, Glibc) over and
  over again for a few hundred jobs.
2009-03-09 17:21:10 +00:00
Eelco Dolstra
8725dc03ec * Use ->update({...}) properly. 2009-03-09 16:22:41 +00:00
Eelco Dolstra
e87896e4b4 * eval-jobs -> hydra_eval_jobs. 2009-03-09 15:16:11 +00:00
Eelco Dolstra
a74bfdf533 * Inputs of type "build" must now be declared explicitly. 2009-03-09 13:58:43 +00:00
Eelco Dolstra
8c58448afc * hydra_scheduler: use eval-jobs. 2009-03-09 13:04:46 +00:00
Eelco Dolstra
875f57857e * Require every argument to be specified. 2009-03-09 10:13:45 +00:00
Eelco Dolstra
322d907629 2009-03-09 10:01:04 +00:00
Eelco Dolstra
5c45661141 * Report evaluation errors per job, and don't bail out if a job fails
to evaluate.
2009-03-07 14:06:10 +00:00
Eelco Dolstra
ba002c6ac5 * eval-jobs now efficiently evaluates all Hydra jobs from a
release.nix expression, accepting multiple values for function
  arguments.  This is much faster than calling nix-instantiate /
  nix-env a zillion times (which is particularly important for
  Nixpkgs).
2009-03-06 16:55:19 +00:00
Eelco Dolstra
0788ec24e6 * Export all relevant info about the derivation. 2009-03-06 15:18:59 +00:00
Eelco Dolstra
f9d4957f2f * Export all relevant info about the derivation. 2009-03-06 15:16:29 +00:00
Eelco Dolstra
55b8190fde 2009-03-06 14:16:42 +00:00
Eelco Dolstra
6cef161793 2009-03-06 14:03:09 +00:00
Eelco Dolstra
36fdd7f37f * For products that are directories (like manuals), allow a default
suffix other than index.html to be declared.  E.g. if a build does

    echo "doc manual $out manual.html" >> $out/nix-support/hydra-build-products

  the default link for the product is

    http://localhost:3000/build/417/download/1/manual.html

  but other files are also accessible, e.g.
    
    http://localhost:3000/build/417/download/1/style.css
2009-03-06 13:34:53 +00:00
Eelco Dolstra
dca6b943d0 * Allow scheduled builds to be cancelled. They're not removed from
the database, just marked as cancelled, because otherwise the
  scheduler would just add them again.
2009-03-06 12:49:01 +00:00
Eelco Dolstra
c724439b20 2009-03-05 15:41:43 +00:00
Eelco Dolstra
c3cc2262b7 * Start of a helper tool to evaluate job expressions efficiently. 2009-03-05 14:59:43 +00:00
Eelco Dolstra
97ed2052ba * Move everything up one directory. 2009-03-05 13:41:57 +00:00
Eelco Dolstra
6de278754a 2009-03-05 13:35:46 +00:00
Eelco Dolstra
f6fd756134 2009-03-05 12:32:14 +00:00
Eelco Dolstra
7f4762db82 2009-03-04 17:25:52 +00:00
Eelco Dolstra
0bd7abf10b * Controller for jobs which inherits all actions in ListBuilds. So
for instance we get channels specific for each job.
2009-03-04 17:24:08 +00:00
Eelco Dolstra
5162f05e2c * At top-level and for each project, provide two channels: "latest"
(containing the latest successful build of each job) and "all"
  (containing all successful builds ever).
2009-03-04 16:36:23 +00:00
Eelco Dolstra
4089859d33 2009-03-04 15:47:42 +00:00
Eelco Dolstra
07e1d73602 2009-03-04 15:41:37 +00:00
Eelco Dolstra
b7892f598d 2009-03-04 15:26:32 +00:00
Eelco Dolstra
7a8903ea54 * XHTML validity. 2009-03-04 15:25:35 +00:00
Eelco Dolstra
56beebc9c6 * Channels: provide an index page that lists all the packages in the
channel.
* Store the meta.homepage attribute in the Builds table.
2009-03-04 14:49:21 +00:00
Eelco Dolstra
dad2f31099 * Provide a channel for each project containing all the latest
succesful builds for each job in the project (under
  http://server/project/<name>/channel/latest).
2009-03-04 13:08:09 +00:00
Eelco Dolstra
af936d7c91 2009-03-04 12:23:54 +00:00
Eelco Dolstra
462a929ea1 2009-03-04 11:03:43 +00:00
Eelco Dolstra
0a40286202 * Put the project-related actions in a separate controller. Put the
actions for viewing the job status and all builds in a separate base
  class that's inherited both by Root.pm and Project.pm so that we get
  URIs like /jobstatus and /project/<name>/jobstatus for free.
2009-03-04 10:59:14 +00:00
Eelco Dolstra
ac8af00e84 2009-03-03 22:20:24 +00:00
Eelco Dolstra
7c616aaf1a 2009-03-03 18:07:31 +00:00
Eelco Dolstra
4044e857b6 2009-03-03 16:44:41 +00:00
Eelco Dolstra
e9b3c89c68 2009-03-03 14:21:27 +00:00
Eelco Dolstra
187da72ecd * Set mtime to 0 to ensure that the generate tar file doesn't change
between invocations.
2009-03-03 14:06:05 +00:00
Eelco Dolstra
8c7eb165c9 * Generate a .tar.bz2 file for the channel Nix expression, since
that's what nix-channel expects.
2009-03-03 10:44:54 +00:00
Eelco Dolstra
4d2cb75104 * Escape string literals.[ 2009-03-03 09:37:16 +00:00
Eelco Dolstra
7ffb32e048 * Generate a Nix expression for the channel. 2009-03-02 17:17:36 +00:00
Eelco Dolstra
f75924db95 * Allow builds to be restarted (if they failed with a transient error,
e.g. interrupted or network problems).
2009-03-02 16:03:41 +00:00
Eelco Dolstra
c7736f0643 2009-03-02 15:21:35 +00:00
Eelco Dolstra
f63f2f1a79 * Pass the version of dependencies to the Nix expression. 2009-03-02 15:21:05 +00:00
Eelco Dolstra
f1fbcd04a8 2009-03-02 10:23:40 +00:00
Eelco Dolstra
d1e0e2f2c6 2009-02-27 15:49:35 +00:00
Eelco Dolstra
f0f5b095cc * Quick hack to allow viewing of dependency graphs (via nix-store -q
--graph).  Maybe I should use SVG, since the generated PNGs tend to
  be huge.
2009-02-27 15:31:49 +00:00
Eelco Dolstra
c8ad58a774 * Only put Nix builds in the global channel. 2009-02-27 14:57:06 +00:00
Eelco Dolstra
abba2e62b4 2009-02-26 21:33:29 +00:00
Eelco Dolstra
b1501bc1cd * Speed up manifest generation. 2009-02-26 16:57:05 +00:00
Eelco Dolstra
cf37152849 2009-02-25 16:29:54 +00:00
Eelco Dolstra
f89757fbd4 2009-02-25 15:39:51 +00:00
Eelco Dolstra
ed1668704e 2009-02-25 14:50:17 +00:00
Eelco Dolstra
76c3ae1cef * Refactoring. 2009-02-25 14:34:29 +00:00
Eelco Dolstra
537f7c8c88 * Forgot to commit. 2009-02-25 14:33:33 +00:00
Eelco Dolstra
cb342ed0dd * Build the /build stuff in a separate controller. 2009-02-25 12:03:13 +00:00
Eelco Dolstra
16acb2754c * Put actions related to builds under /build (e.g. /log/<buildid>
becomes /build/<buildid>/log).
2009-02-25 10:52:41 +00:00
Eelco Dolstra
f8e162cb18 2009-02-23 13:24:23 +00:00
Eelco Dolstra
5fcd2e26c9 * One-click installs. 2009-02-23 13:23:55 +00:00
Eelco Dolstra
5f8dcab854 * Closure downloads: don't include the product number; it's not needed. 2009-02-23 09:34:29 +00:00
Eelco Dolstra
9013e97534 * Generate NAR archives on the fly. Necessary for producing channels
/ one-click installs on demand.
2009-02-19 23:43:08 +00:00
Eelco Dolstra
5a49cc5916 * Generate manifests on demand. Next step: generate NAR archives on
demand, then we can have channel support and one-click installs in
  Hydra.
2009-02-13 17:35:54 +00:00
Eelco Dolstra
95f2362c11 2009-02-12 16:38:08 +00:00
Eelco Dolstra
0be4bad006 * Add a link to each project's homepage. Suggested by karltk. 2009-02-11 23:14:28 +00:00
Eelco Dolstra
66602def16 * Register builds as GC roots so they don't get deleted. 2009-02-06 21:01:20 +00:00
Eelco Dolstra
dcacf2c790 * Get rid of a warning. 2009-02-06 21:00:58 +00:00
Eelco Dolstra
64fd90f225 * Automatically keep all builds in the latest successful release in
each release set.
2009-02-06 15:02:49 +00:00
Eelco Dolstra
7c1465944f * Keep the most recent builds for each job. 2009-02-06 14:17:25 +00:00
Eelco Dolstra
14960d6c53 * hydra_update_gc_roots.pl registers build outputs that should be kept
as GC roots and removes GC roots to build outputs that should no
  longer be kept.
2009-01-13 14:02:07 +00:00
Eelco Dolstra
7d2e5c8206 * Icon for ISOs. 2008-12-17 15:59:28 +00:00
Eelco Dolstra
6cb58ef581 * Make the schema class names match the case of the SQL table names. 2008-12-16 16:26:33 +00:00
Eelco Dolstra
dfcaa51d7b * Store the meta.longDescription and meta.license attributes in the
database.
2008-12-16 15:09:39 +00:00
Eelco Dolstra
7231556f47 * Cut off builds after half an hour of apparent inactivity. This
should really be configurable.
2008-12-16 10:42:37 +00:00
Eelco Dolstra
5e207cdbb2 * Provide a redirect to the latest successful release in a release set
(e.g. http://localhost:3000/release/patchelf/unstable/latest).
2008-12-15 13:12:51 +00:00
Eelco Dolstra
3a26ab4b21 * Scripts for starting / stopping Hydra. 2008-12-15 11:40:12 +00:00
Eelco Dolstra
a4e3e48767 * I love untyped databases... 2008-12-01 11:15:03 +00:00
Eelco Dolstra
61e3eb587a 2008-11-30 18:55:03 +00:00
Eelco Dolstra
e686979e55 * Queue runner: don't start scheduled builds builds if they belong to
a disabled project.  Idem for the queue page.
2008-11-30 18:53:58 +00:00
Eelco Dolstra
4f2b47bb0e * Give releases a timestamp. 2008-11-30 00:23:33 +00:00
Eelco Dolstra
5105d15636 * Put the release sets in the navbar. 2008-11-29 13:40:15 +00:00
Eelco Dolstra
0d84d6c166 * Dying considered harmful. 2008-11-29 01:27:17 +00:00
Eelco Dolstra
30e8b14b12 * Better timeout. 2008-11-29 01:26:51 +00:00
Eelco Dolstra
ca73ec5763 * Don't ignore SIGCHLD after all, Perl doesn't like it. Just do
a few waitpids periodically.
* Better cleanup of builds that die because of a sqlite locking
  problem.
2008-11-29 01:20:13 +00:00
Eelco Dolstra
22532079ec * Get rid of zombies. 2008-11-29 01:01:22 +00:00
Eelco Dolstra
19c3c83794 2008-11-29 00:56:40 +00:00
Eelco Dolstra
33f3bee810 * Don't use a config file by default. This frees up $HYDRA_CONFIG so
that the user can specify one.
2008-11-29 00:04:45 +00:00
Eelco Dolstra
acc2c30eb8 2008-11-28 18:54:09 +00:00
Eelco Dolstra
5613448a81 * Regenerate the bindings from a clean sqlite database. 2008-11-28 18:02:08 +00:00
Eelco Dolstra
ff9987c904 * Script for initialising the database. 2008-11-28 17:25:30 +00:00
Eelco Dolstra
cbc046edc5 2008-11-28 16:53:53 +00:00
Eelco Dolstra
95381d7d2c * Make HEAD requests work when doing Nix closure downloads. 2008-11-28 16:46:08 +00:00
Eelco Dolstra
3ec88541b2 * Nix expression for building Hydra. 2008-11-28 16:13:06 +00:00
Eelco Dolstra
28526dfaf8 * Reorganising. 2008-11-28 15:14:49 +00:00
Eelco Dolstra
cbcfdf9c54 * $HYDRA_DATA environment variable. 2008-11-28 14:36:04 +00:00
Eelco Dolstra
b97c946f8e * Fix the terminology. 2008-11-28 11:16:53 +00:00
Eelco Dolstra
88c34fb6c7 2008-11-28 11:01:35 +00:00
Eelco Dolstra
5ca4003b1d * The owner parameter is only set for admin roles. 2008-11-28 11:01:20 +00:00
Eelco Dolstra
2156e406b4 * Monitor for dead builds all the time. 2008-11-28 11:00:55 +00:00
Eelco Dolstra
ba5e4be15e 2008-11-28 10:23:00 +00:00
Eelco Dolstra
a7d2f5382c 2008-11-28 00:16:01 +00:00
Eelco Dolstra
ca1a6d1bdf 2008-11-27 22:29:38 +00:00
Eelco Dolstra
f742871910 2008-11-27 22:26:53 +00:00
Eelco Dolstra
58cb6fbea5 2008-11-27 21:40:23 +00:00
Eelco Dolstra
06b49e0df7 2008-11-27 21:08:17 +00:00
Eelco Dolstra
e4e7fac958 2008-11-27 20:33:17 +00:00
Eelco Dolstra
1810a13546 2008-11-27 19:06:11 +00:00
Eelco Dolstra
ac89e7d4ed 2008-11-27 18:54:25 +00:00
Eelco Dolstra
d6f71f2248 * Showing releases. 2008-11-27 18:27:19 +00:00
Eelco Dolstra
7b19257830 2008-11-27 17:01:41 +00:00
Eelco Dolstra
98c53156e6 * Basic release management: releases are now dynamically computed as
database queries from a set of jobs that have to be in a release.
  E.g. a patchelf release might consist of the jobs "tarball", "build",
  and "rpm_fedora10i386".  Here the first job ("tarball") is the
  primary job: all the others have it as an input.  The primary job
  supplies the identity of the release.
2008-11-27 15:16:06 +00:00
Eelco Dolstra
24923ed09a * Make build steps clickable as well. 2008-11-27 10:04:54 +00:00
Eelco Dolstra
d9507c304a * Links on trs. 2008-11-27 09:59:29 +00:00
Eelco Dolstra
12dcf2d464 2008-11-27 02:38:03 +00:00
Eelco Dolstra
6f5b98d7ca 2008-11-27 02:29:46 +00:00
Eelco Dolstra
ab16bfaf95 * Show job status and all builds for a project. 2008-11-27 02:23:44 +00:00
Eelco Dolstra
bebd4a8b89 2008-11-27 01:27:08 +00:00
Eelco Dolstra
eb05998749 * Grabbed a logo. TODO: check copyright status. 2008-11-27 01:05:31 +00:00
Eelco Dolstra
266aa141bd * Separate job status and all builds pages. 2008-11-27 00:38:09 +00:00
Eelco Dolstra
38a1b0d7ef * Show global and per-project statistics. 2008-11-26 23:49:51 +00:00
Eelco Dolstra
043127c3d4 * Check the owner. 2008-11-26 23:31:07 +00:00
Eelco Dolstra
2748cfac07 * Role-based access control. Only admins can create projects. Only
admins or project owners can edit or delete a project.
2008-11-26 23:25:24 +00:00
Eelco Dolstra
161e836d0c 2008-11-26 22:42:07 +00:00
Eelco Dolstra
50ae3ca9e9 * Added authentication. 2008-11-26 19:48:04 +00:00
Eelco Dolstra
632d56e665 2008-11-26 18:45:52 +00:00
Eelco Dolstra
41055aabc7 2008-11-26 17:43:53 +00:00
Eelco Dolstra
fa042e04ae * Unify rendering of finished and scheduled builds. 2008-11-26 17:43:45 +00:00
Eelco Dolstra
b7e03351cb * Allow the maximum number of concurrent builds per platform to be
configured.
2008-11-26 17:14:27 +00:00
Eelco Dolstra
5f7142eb82 * Get the job priority from the meta.schedulingPriority attribute.
Can't use meta.priority because nix-env already uses that one for
  resolving filename clashes.
2008-11-26 14:43:16 +00:00
Eelco Dolstra
21497f9a47 * Don't start more builds concurrently than allowed for each system
type (currently hard-coded at 2).
2008-11-26 14:20:50 +00:00
Eelco Dolstra
39f8b6110f 2008-11-26 13:39:15 +00:00
Eelco Dolstra
a36fab9293 2008-11-26 01:11:36 +00:00
Eelco Dolstra
c72f4dd67a * Boolean inputs. 2008-11-25 18:34:24 +00:00
Eelco Dolstra
1698e490d0 * Support Subversion checkouts. 2008-11-25 18:13:55 +00:00
Eelco Dolstra
b4cfd58944 * Trim some significant whitespace. 2008-11-25 16:35:44 +00:00
Eelco Dolstra
465612fc73 * Fix a weird bug. 2008-11-25 16:35:33 +00:00
Eelco Dolstra
cb8e3acb2a * Store the release name. 2008-11-25 16:13:22 +00:00
Eelco Dolstra
8fbb79efe6 * Caching of "path" inputs, and fake a revision number for those. 2008-11-25 14:59:08 +00:00
Eelco Dolstra
a8f748e547 * Log evaluation errors etc. in the DB. 2008-11-25 13:27:57 +00:00
Eelco Dolstra
6efe0c37f3 2008-11-25 11:09:15 +00:00
Eelco Dolstra
410b80063c * More global substitution. 2008-11-25 11:01:42 +00:00
Eelco Dolstra
22feae550e * Idem. 2008-11-25 10:55:07 +00:00
Eelco Dolstra
fadd7a0448 * HydraFrontend -> Hydra. 2008-11-25 10:53:42 +00:00
Eelco Dolstra
4b478eb8df 2008-11-25 02:34:48 +00:00
Eelco Dolstra
78a694420e 2008-11-25 02:27:03 +00:00
Eelco Dolstra
147b980028 2008-11-25 01:22:47 +00:00
Eelco Dolstra
e742833da3 * Get rid of "positive failures" and separate log phases.
* Specifically log, for a build, whether the top-level derivation
  failed, or some dependency failed, or Nix itself barfed.  In the
  latter case log the error output from Nix.
2008-11-25 00:38:16 +00:00
Eelco Dolstra
125d7a985e * Use jquery for the logfile manipulation. 2008-11-18 17:51:40 +00:00
Eelco Dolstra
1f90d94331 * Pretty-print the logs. 2008-11-18 16:45:23 +00:00
Eelco Dolstra
f6462ff5bb * Downloading closures. 2008-11-18 14:48:40 +00:00
Eelco Dolstra
9f1f939226 2008-11-18 12:48:58 +00:00
Eelco Dolstra
6aa0ddda51 2008-11-18 12:13:34 +00:00
Eelco Dolstra
f0eb8cf08c 2008-11-17 23:59:20 +00:00
Eelco Dolstra
51e617e9e8 2008-11-17 15:31:30 +00:00
Eelco Dolstra
ab2b40239f 2008-11-17 15:31:19 +00:00
Eelco Dolstra
9933dd2f27 2008-11-17 13:39:01 +00:00
Eelco Dolstra
0c0175d88e * Adding input value alternatives. 2008-11-17 13:36:58 +00:00
Eelco Dolstra
2650094643 * Editing of jobset inputs. 2008-11-17 11:44:51 +00:00
Eelco Dolstra
66f752beaf 2008-11-14 13:57:17 +00:00
Eelco Dolstra
83d6ad7aa2 2008-11-13 18:16:57 +00:00
Eelco Dolstra
77e1bb7527 * Happy Javascript hacking. 2008-11-13 17:55:40 +00:00
Eelco Dolstra
f6f5309a02 2008-11-13 14:54:50 +00:00
Eelco Dolstra
46dc10847a 2008-11-13 12:11:18 +00:00
Eelco Dolstra
db68e005a6 2008-11-13 09:48:10 +00:00
Eelco Dolstra
8c6760cecc 2008-11-13 09:25:38 +00:00
Eelco Dolstra
0f03c796e7 2008-11-13 00:01:19 +00:00
Eelco Dolstra
cd06b6c97d 2008-11-12 23:45:11 +00:00
Eelco Dolstra
6591118a2b 2008-11-12 23:14:57 +00:00
Eelco Dolstra
08f171d9e8 2008-11-12 16:42:07 +00:00
Eelco Dolstra
b96d304c85 * Support serving products that are directories (such as manuals or
coverage analysis reports).
2008-11-12 15:36:50 +00:00
Eelco Dolstra
f9c0996003 * Allow downloading of build products. 2008-11-12 14:41:51 +00:00
Eelco Dolstra
25f227f678 2008-11-12 14:29:32 +00:00
Eelco Dolstra
356b77bb95 2008-11-12 13:00:56 +00:00
Eelco Dolstra
80a2350a0a 2008-11-12 11:09:21 +00:00
Eelco Dolstra
ee13f3cc0d * Store info about all the build actions and allow them to be
monitored while the build is in progress.
2008-11-11 17:49:50 +00:00
Eelco Dolstra
632bb24687 2008-11-11 14:45:33 +00:00
Eelco Dolstra
ecd0ba74e9 * Merged the Build and Job tables. 2008-11-11 12:54:37 +00:00
Eelco Dolstra
0f24c11292 * Perform builds in parallel.
* Turn off sqlite's synchronous mode because fsync() performance
  *really* sucks on ext3 (it syncs the entire filesystem).  See
  https://bugzilla.mozilla.org/show_bug.cgi?id=421482
2008-11-11 10:27:36 +00:00
Eelco Dolstra
8f5e7c319c 2008-11-10 13:33:12 +00:00
Eelco Dolstra
15edf10986 2008-11-10 10:27:52 +00:00
Eelco Dolstra
8f42bf303f 2008-11-10 10:18:50 +00:00
Eelco Dolstra
f4a44db664 2008-11-09 00:48:36 +00:00
Eelco Dolstra
74c952d073 2008-11-08 22:40:12 +00:00
Eelco Dolstra
ffd0f75692 * Generic declaration of build products. 2008-11-07 17:10:34 +00:00
Eelco Dolstra
2d52634b1e 2008-11-07 15:29:52 +00:00
Eelco Dolstra
fe1582a00d * Refactoring. 2008-11-07 14:51:44 +00:00
Eelco Dolstra
d5a0f6e145 2008-11-06 23:17:46 +00:00
Eelco Dolstra
2324218ecd 2008-11-06 18:28:34 +00:00
Eelco Dolstra
279de1a9c2 * Support variant builds. 2008-11-06 18:26:29 +00:00
Eelco Dolstra
7bbd736d96 2008-11-06 14:32:30 +00:00
Eelco Dolstra
b0bbb1a011 2008-11-06 13:40:31 +00:00
Eelco Dolstra
9894b10131 2008-11-05 23:37:23 +00:00
Eelco Dolstra
a77acc2a4f * BuildInputs table: link to dependencies, include store paths. 2008-11-05 23:08:16 +00:00
Eelco Dolstra
0ea294e77e * Store info about the build inputs in the build record. 2008-11-05 06:23:41 +00:00
Eelco Dolstra
a970603ad1 * Get dependencies from the database. 2008-11-05 04:52:52 +00:00
Eelco Dolstra
621ce1ee64 2008-11-05 03:25:48 +00:00
Eelco Dolstra
8378d57ba2 2008-11-05 01:58:29 +00:00
Eelco Dolstra
6e73c85c3b * Basic job info in the database. 2008-11-04 18:23:28 +00:00
Eelco Dolstra
5915bcaba3 * Store build duration, handle cached builds. 2008-10-28 17:08:29 +00:00
Eelco Dolstra
08798f3c07 * Some jQuery / CSS hackery. 2008-10-28 15:34:29 +00:00
Eelco Dolstra
9f7403765c * Show the latest build for each job. 2008-10-28 12:44:36 +00:00
Eelco Dolstra
7ded8bbd15 2008-10-28 10:32:31 +00:00
Eelco Dolstra
b250fa6094 * Start of a basic Catalyst web interface. 2008-10-28 10:19:31 +00:00
Eelco Dolstra
c181fc8703 * Put info about logs / build products in the DB. 2008-10-28 10:18:03 +00:00
Eelco Dolstra
ff6021450a * Start putting build results in a database. 2008-10-10 16:05:05 +00:00