John Ericson
ef7bf1e67b
Merge pull request #1375 from NixOS/nix-2.21
...
Nix 2.21
2024-04-12 17:28:37 -04:00
K900
9db5d0a88d
urlencode drv names when fetching logs
...
Otherwise names with special characters like + break things.
2024-02-26 22:48:16 +03:00
Maximilian Bosch
e499509595
Switch to new Nix bindings, update Nix for that
...
Implements support for Nix's new Perl bindings[1]. The current state
basically does `openStore()`, but always uses `auto` and doesn't support
stores at other URIs.
Even though the stores are cached inside the Perl implementation, I
decided to instantiate those once in the Nix helper module. That way
store openings aren't cluttered across the entire codebase. Also, there
are two stores used later on - MACHINE_LOCAL_STORE for `auto`,
BINARY_CACHE_STORE for the one from `store_uri` in `hydra.conf` - and
using consistent names should make the intent clearer then.
This doesn't contain any behavioral changes, i.e. the build product
availability issue from #1352 isn't fixed. This patch only contains the
migration to the new API.
[1] https://github.com/NixOS/nix/pull/9863
2024-02-12 18:50:56 +01:00
John Ericson
fcde5908d8
More CA derivations prep
...
Again, with care not to change the schema in any way.
2024-01-25 21:32:22 -05:00
Josef Kemetmüller
ad99d3366f
Fix MIME types when serving .js and .css
...
To correctly render HTML reports we make sure to return the following MIME
types instead of "text/plain"
- *.css: "text/css"
- *.js: "application/javascript"
Fixes : #1267
2022-12-29 22:26:59 +01:00
Marco Rebhan
a58e2f1a64
Use libmagic for better output MIME detection
2022-08-04 22:34:58 +02:00
ajs124
bab671124d
replace nix cat-store with nix store cat
...
the former was deprecated in favor of the latter
2022-06-30 00:24:09 +02:00
Graham Christensen
27ddde1e9e
dynamic runcommand: print a notice on the build page if it is disabled
2022-02-11 15:04:54 -05:00
Cole Helbling
3594ba942a
Controller/Build: use showLog in view_runcommandlog
...
This also adds the `runcommandlog` object to the stash so that we can
access its uuid as well as command run in order to display more useful
and specific information on the webpage.
2022-01-31 08:58:33 -08:00
Cole Helbling
1d0076408b
Controller/Build: pass log_uri to showLog in place of drvPath
...
This way, we can reuse the `showLog` sub for other things, such as
`view_runcommandlog` (which doesn't have a drvPath attached).
2022-01-31 08:58:33 -08:00
Cole Helbling
ff390e89a6
Controller/Build: remove unused parameter from showLog
2022-01-31 08:58:33 -08:00
Cole Helbling
fc3cf4ecb2
RunCommandLogs: identify and access via uuid
...
Using a sha1 of the command combined with the build ID is not a
particularly good or unique identifier:
* A build could fail, be restarted, and then succeed -- assuming no
configuration changes, the sha1 hash of the command as well as the build
ID will be the same. This would lead to an overwritten log file.
* Allowing user input to influence filenames is not the best of ideas.
2022-01-31 08:58:33 -08:00
Cole Helbling
5d3912962b
RunCommand: use helper functions to ensure filenames and paths are the same
...
Otherwise, it's possible someone updates the format in one place but not
the others, leading to broken or incorrect functionality.
2022-01-28 13:03:15 -08:00
Cole Helbling
14090fbb86
runcommand-log.tt: init
2022-01-28 13:03:15 -08:00
Janne Heß
796ce165d4
RunCommand: Allow displaying command output
2022-01-28 13:03:15 -08:00
Graham Christensen
fe149613b3
Builds page: show RunCommand logs
2022-01-07 15:05:33 -05:00
Graham Christensen
aa7b37838a
PerlCritic: MoreUtils -> SomeUtils
2021-12-14 10:16:25 -05:00
Graham Christensen
ffedbe5996
restart/cancelBuilds: always pass resultsets explicitly
2021-10-25 22:21:48 -04:00
Graham Christensen
4c8279044b
Merge pull request #1026 from DeterminateSystems/constituents
...
add api endpoint: /build/<id>/constituents
2021-09-28 09:21:21 -04:00
Graham Christensen
c60c8d10ea
add api endpoint: /build/<id>/constituents
...
Returns a list of constituent builds
2021-09-24 16:30:44 -04:00
Graham Christensen
c880888f1e
File::Slurp -> File::Slurper
2021-09-06 22:13:33 -04:00
Graham Christensen
09ad52ab60
Document getEvals a bit
...
Also drop the $self parameter.
Co-authored-by: gustavderdrache
2021-06-16 13:15:01 -04:00
Graham Christensen
382ba590ad
Drop unused query from GET Build.
2021-06-01 11:47:05 -04:00
Graham Christensen
508d99d611
Join to builds via jobset_id when easy
2021-06-01 11:16:47 -04:00
Eelco Dolstra
8bb23905c3
Build: Remove unused prevBuild
...
This speeds up loading the page a lot in the case where there is no
previous evaluation (for some reason).
2020-10-28 13:29:31 +01:00
Eelco Dolstra
8adb433e3b
Remove the Jobs table
...
This table has been superfluous for a long time.
2020-05-27 20:09:36 +02:00
Eelco Dolstra
96a514c169
Remove the "releases" feature
...
We haven't used this in many years (it was really only used for nix
and patchelf releases).
2020-05-06 12:39:21 +02:00
Maximilian Bosch
721c764951
Remove Hydra::Helper::nix::txn_do from the Perl code
...
To quote the function's comment:
Awful hack to handle timeouts in SQLite: just retry the transaction.
DBD::SQLite *has* a 30 second retry window, but apparently it
doesn't work.
Since SQLite is now dropped entirely, this wrapper can be removed
completely.
2020-04-16 00:42:40 +02:00
Graham Christensen
994430b94b
treewide: allow nix
command
2020-03-03 22:52:20 -05:00
Andreas Rammhold
841a47cabe
Add cancel-build role
2019-11-05 22:56:01 +01:00
Andreas Rammhold
ce1e10c116
Add bump-to-front role
2019-11-05 19:32:06 +01:00
Andreas Rammhold
63a294d4ca
allow users with 'restart-jobs' role to restart individual builds
2018-10-04 21:59:42 +02:00
Eelco Dolstra
fd463ff403
Remove nix-install-package support
...
'nix-install-package' no longer exists in Nix 1.12.
Closes #268 .
2018-01-15 14:27:58 +01:00
Eelco Dolstra
7857f83251
Serve directories and symlinks correctly
2017-11-14 17:17:07 +01:00
Eelco Dolstra
62c6cca937
Make one-click installs work for binary cache stores
...
This requires setting binary_cache_public_uri in hydra.conf.
2017-10-18 14:09:28 +02:00
Eelco Dolstra
44ef743d84
Hide some things that require a local store
2017-10-18 13:44:41 +02:00
Eelco Dolstra
30943dd217
Detect MIME type
2017-10-18 13:38:34 +02:00
Eelco Dolstra
42fbde0383
Use "nix cat-store" to serve files from the Nix store
...
This makes downloading/viewing build results work with binary cache
stores. For good performance, this should be used in conjunction with
ca580bec35
,
i.e. you should set store_uri to something like
s3://my-cache?local-nar-cache=/tmp/nar-cache
to cache NARs between requests.
2017-10-18 12:48:31 +02:00
Eelco Dolstra
bc60fccf78
Remove remaining references to store_mode etc.
2017-10-18 12:23:07 +02:00
Eelco Dolstra
c2c2633e50
Fix link to cached build log
...
Fixes #462 .
2017-04-11 14:25:48 +02:00
Eelco Dolstra
fec895a642
hydra-server: Support logs in S3
2017-04-05 17:55:56 +02:00
Eelco Dolstra
81ac547d2b
Move most of AddBuilds to hydra-eval-jobset
...
Having this stuff in a separate module is a remnant of the time when
hydra-server could add builds to the queue directly. This is no longer
the case.
2017-02-21 17:20:48 +01:00
Eelco Dolstra
2b790ceefa
Remove the pretty-printed log
...
It didn't work anymore due to the removal of nix-log2xml. And in any
case XSL is the work of the devil.
2016-10-27 14:43:17 +02:00
Eelco Dolstra
a74251af2b
Disable channels on binary cached based Hydra instances
2016-03-02 15:08:53 +01:00
Eelco Dolstra
bc958c508b
Merge branch 'binary-cache'
2016-02-29 18:29:07 +01:00
Eelco Dolstra
e8cdfe5171
hydra-server: Don't barf if the binary cache public key can't be read
2016-02-26 21:14:40 +01:00
Eelco Dolstra
07e5fc5618
Hackery to make downloads work when using a binary cache
2016-02-26 17:28:26 +01:00
Michael Mortensen
d9a4f7a211
Construct uri using uri_for, which respects X-Request-Base.
2016-02-17 21:27:44 +01:00
Eelco Dolstra
5c5bb3762c
Fix display of builds that don't have an eval
...
Like http://hydra.nixos.org/build/22872 .
2016-02-12 16:27:25 +01:00
Eelco Dolstra
29db16bc69
Fix 'Can't locate object method "buildstepoutputs"'
...
Template::Toolkit braindamage strikes again. See
8f85fe67d4749c838778e11b442d6cb3d6145889.
2015-12-15 11:55:57 +01:00