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