Rob Vermaas
be3748e1ec
In case of deep clone, make sure there is local branch.
2012-04-25 13:49:28 +02:00
Rob Vermaas
7da48b5220
remove origin from git pull call, to get rid of fatal: fetch --all does not take a repository argument error
2012-04-25 10:17:22 +02:00
Rob Vermaas
b49e138e9c
Merge pull request #3 from nbp/candidates/fetch-git
...
Optimize fetch-git.
2012-04-24 10:18:28 -07:00
Rob Vermaas
b0596c214a
Merge branch 'master' of github.com:NixOS/hydra
2012-04-18 11:24:12 +02:00
Rob Vermaas
cc38d0352f
Strip all whitespace from revision from subversion call. Patch provided by Petr Ročkai
2012-04-18 11:22:26 +02:00
Eelco Dolstra
896a47d950
Clear nrSucceeded when restarting a build
2012-04-17 09:34:35 +00:00
Eelco Dolstra
d350b935f2
Add validation for project and jobset names
2012-04-17 08:53:00 +00:00
Nicolas Pierron
19d9955e89
Optimize fetch-git.
2012-04-14 18:17:35 -07: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
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
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
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
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
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
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
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
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
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
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
9b4f09ba83
allow dots (.) in job names when used as build input
2012-01-06 23:04:48 +01: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
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
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
Rob Vermaas
787ed37cb3
git branches can share local clones
2011-11-30 11:40:35 -05:00
Eelco Dolstra
c613b885f2
Use the new Nix Perl bindings
2011-11-30 15:25:28 +01:00
Eelco Dolstra
3685ffd464
Whitespace
2011-11-29 15:57:47 +01: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
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
5e359374a1
* Fix indentation.
2011-08-19 15:13:34 +00:00
Rob Vermaas
b75ddbc11c
allow _'s in first character of filenames
2011-07-25 23:19:24 +00:00
Rob Vermaas
3824aeaab8
change regexp for ascii escapes in log
2011-06-10 10:53:59 +00:00
Rob Vermaas
48b435c2de
remove ascii escapes from log in tail page and emails
2011-06-10 09:53:15 +00:00
Eelco Dolstra
adbba3bbcb
* me.id -> build.id.
2011-04-20 08:57:55 +00:00
Rob Vermaas
d4c96a47c9
qualify order by column
2011-04-18 08:10:10 +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
53c48e4d7d
qualify id column in queries
2011-03-14 14:05:32 +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
586f131ebd
use HYDRA_DATA/hydra.conf as default location for hydra.conf
2011-03-07 15:06:32 +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
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
c645fa55ff
initial bzr support
2011-02-08 13:11:08 +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
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
6d6f43fa0c
hydra: factored out build restart and
2010-12-03 08:40:34 +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
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
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
4c63ccb6bc
hydra: moves jobsetOverview sub
2010-09-03 09:17:52 +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
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
005e088637
missing case for hg input type
2010-07-27 16:17:06 +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
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
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
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
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
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
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
1c4585dae3
* hydra: project members can do stuff that the owner can do
2010-03-10 10:02:04 +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
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