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.
Eelco Dolstra
2009-04-03 15:37:21 +00:00
ca11aba074* Fix an infinite recursion.
Eelco Dolstra
2009-04-03 09:13:34 +00:00
550488e010* Add openssh to $PATH to support svn+ssh checkouts.
Eelco Dolstra
2009-04-03 08:39:10 +00:00
09944ed3a2* Forgot to commit.
Eelco Dolstra
2009-04-03 08:38:13 +00:00
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.
Eelco Dolstra
2009-04-02 16:15:57 +00:00
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.
Eelco Dolstra
2009-03-31 15:59:31 +00:00
156f40130e* Generate robots.txt in a more Catalystic way.
Eelco Dolstra
2009-03-31 14:14:45 +00:00
d6e996d01c* Generate a robots.txt.
Eelco Dolstra
2009-03-31 13:48:03 +00:00
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.
Eelco Dolstra
2009-03-26 15:32:19 +00:00
f0f9f12e42* Use Nix's negative caching.
Eelco Dolstra
2009-03-26 12:53:39 +00:00
c75977ce5a* Record the input containing the Nix expression (release.nix) in the build inputs. Otherwise we can't (for example) reproduce a build later.
Eelco Dolstra
2009-03-23 21:42:59 +00:00
dab25b30f0* Fix the queue page.
Eelco Dolstra
2009-03-23 15:19:34 +00:00
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.
Eelco Dolstra
2009-03-23 13:52:24 +00:00
d9424b6364* Show the input bindings in evaluation error messages.
Eelco Dolstra
2009-03-20 17:06:50 +00:00
3d26bb7fd1* Allow `-' in release set names.
Eelco Dolstra
2009-03-20 15:19:17 +00:00
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"'.
Eelco Dolstra
2009-03-20 14:50:09 +00:00
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.
Eelco Dolstra
2009-03-18 16:46:01 +00:00
5853a26b13* Don't discard old build steps when restarting a build.
Eelco Dolstra
2009-03-16 16:56:47 +00:00
a6e84d8431* Option to show the tail of a log.
Eelco Dolstra
2009-03-16 12:16:33 +00:00
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.
Eelco Dolstra
2009-03-16 10:57:44 +00:00
32f0665d2c* Allow users to change the value of a build's "keep" flag, which prevents the build output from being garbage collected.
Eelco Dolstra
2009-03-14 23:56:57 +00:00
eeddf5752d* Provide access to the raw, non-pretty-printed logfiles. Unfortunately necessary for large logs.
Eelco Dolstra
2009-03-14 23:27:08 +00:00
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).
Eelco Dolstra
2009-03-14 22:34:22 +00:00
7c7c43335d* Job status: show the active jobs.
Eelco Dolstra
2009-03-13 17:32:08 +00:00
f2f586d842* Disambiguate jobs by jobset name. I.e. jobs with the same name in different jobsets are not considered the same job.
Eelco Dolstra
2009-03-12 23:46:17 +00:00
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".
Eelco Dolstra
2009-03-12 14:18:30 +00:00
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.
Eelco Dolstra
2009-03-12 13:42:44 +00:00
f945fbb5bd* Use Catalyst's HTTP::Prefork engine by default, with some limits to prevent the server from being overloaded.
Eelco Dolstra
2009-03-11 15:48:06 +00:00
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.
Eelco Dolstra
2009-03-11 14:44:34 +00:00
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.
Eelco Dolstra
2009-03-09 17:21:10 +00:00
8725dc03ec* Use ->update({...}) properly.
Eelco Dolstra
2009-03-09 16:22:41 +00:00
5c45661141* Report evaluation errors per job, and don't bail out if a job fails to evaluate.
Eelco Dolstra
2009-03-07 14:06:10 +00:00
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).
Eelco Dolstra
2009-03-06 16:55:19 +00:00
0788ec24e6* Export all relevant info about the derivation.
Eelco Dolstra
2009-03-06 15:18:59 +00:00
f9d4957f2f* Export all relevant info about the derivation.
Eelco Dolstra
2009-03-06 15:16:29 +00:00
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
Eelco Dolstra
2009-03-06 13:34:53 +00:00
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.
Eelco Dolstra
2009-03-06 12:49:01 +00:00
0bd7abf10b* Controller for jobs which inherits all actions in ListBuilds. So for instance we get channels specific for each job.
Eelco Dolstra
2009-03-04 17:24:08 +00:00
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).
Eelco Dolstra
2009-03-04 16:36:23 +00:00
56beebc9c6* Channels: provide an index page that lists all the packages in the channel. * Store the meta.homepage attribute in the Builds table.
Eelco Dolstra
2009-03-04 14:49:21 +00:00
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).
Eelco Dolstra
2009-03-04 13:08:09 +00:00
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.
Eelco Dolstra
2009-03-04 10:59:14 +00:00
2f1bcbb1e5* Urgh. Need some regression tests...
Eelco Dolstra
2009-03-03 23:04:11 +00:00