Graham Christensen
2f382ba067
Add migration 79: RunCommand logs
2022-01-07 15:05:33 -05:00
Graham Christensen
fe149613b3
Builds page: show RunCommand logs
2022-01-07 15:05:33 -05:00
Graham Christensen
a7aeb766aa
RunCommandLogs: add a helper for if it failed with an exec error
2022-01-07 15:05:33 -05:00
Graham Christensen
d849856dcd
RunCommandLogs: add helpers for if it is running/failed/signaled
2022-01-07 15:05:33 -05:00
Graham Christensen
c81acbf93e
RunCommandLogs: test recording a signaled process without a core dump
2022-01-07 15:05:33 -05:00
Graham Christensen
d003fec8a5
RunCommandLogs: add a did_succeed helper
2022-01-07 15:05:33 -05:00
Graham Christensen
5bb3e2be78
Record the errno if exec fails
2022-01-07 15:05:33 -05:00
Graham Christensen
4ce8239cea
RunCommand: create run logs for each execution
2022-01-07 15:05:33 -05:00
Graham Christensen
52843195db
RunCommandLogs: init table
2022-01-07 15:05:33 -05:00
Graham Christensen
9708f6bf6f
Fetch the tracker HTML from the config file, remove HYDRA_TRACKER
...
The indentation in the hydra.conf makes it possible to include multi-line
strings without it being likely that the contents of the tracker
is mis-parsed or interrupts tho config parser.
It isn't impossible / foolproof probably, but it shouldn't be likely.
2022-01-05 15:27:21 -05:00
Graham Christensen
2db422f7b0
Event: interested -> interestedIn
2021-12-21 20:57:53 -05:00
Graham Christensen
e84bbc7f90
hydra-eval-jobset: notify build_queued
2021-12-21 20:57:53 -05:00
Graham Christensen
a14501c616
Tasks: only execute the event if the plugin is interested in it
2021-12-21 20:57:53 -05:00
Graham Christensen
633fc36d6a
TaskDispatcher: pre-declare the notify_no_such_plugin metric
2021-12-21 20:57:53 -05:00
Graham Christensen
d195e545f5
hydra-notify: listen for build_queued events
2021-12-21 20:57:53 -05:00
Graham Christensen
cf514baaf2
hydra-notify: track the duration of handling an event
...
Currently we only track how long individual plugins take.
With #1083 we stop executing a lot of plugins, but we
don't have a way to measure its practical impact on the
execution time of handling events.
2021-12-21 19:46:19 -05:00
Graham Christensen
f2f8d571f3
queue-runner-status: fixup from perlcritic-level-2
...
>
> from_json was legacy / deprecated. This was the only use.
2021-12-15 17:24:23 -05:00
Graham Christensen
e43f487157
perlcritic: return undef in list context too
2021-12-14 10:24:53 -05:00
Graham Christensen
aa7b37838a
PerlCritic: MoreUtils -> SomeUtils
2021-12-14 10:16:25 -05:00
Graham Christensen
a658b80863
perlcritic: Readonly -> ReadonlyX
2021-12-14 10:16:25 -05:00
Graham Christensen
30a7f068b7
AttributeSet helper: skip wantarray
2021-12-14 10:16:25 -05:00
Graham Christensen
d2f03ca050
fixup foreach
2021-12-14 10:16:25 -05:00
Graham Christensen
4dfe787bc2
perlcritic: each() called at line 752, column 35. The each function may cause undefined behavior when operating on the hash while iterating. Use a foreach loop over the hash's keys or values instead.
2021-12-14 10:16:25 -05:00
Graham Christensen
7dcf6a01c6
JSON -> JSON::MaybeXS
2021-12-13 15:37:56 -05:00
Graham Christensen
26b197ea62
RunCommand: calculate all the commands to run against before starting
2021-12-08 20:29:32 -05:00
Graham Christensen
2ce0ab9f51
RunCommand: move JSON generation to its own function
2021-12-08 20:09:48 -05:00
Graham Christensen
7a5b8a38d9
builds page: capitalize tabs ( #1072 )
...
Make tabs Title Case
2021-12-08 20:02:14 -05:00
Graham Christensen
2cbeca5c44
Merge pull request #1071 from DeterminateSystems/log-fetches-evals
...
hydra-eval-jobset: log fetches and evaluations
2021-12-08 16:00:29 -05:00
Graham Christensen
264092169c
hydra-eval-jobset: log fetches and evaluations
2021-12-08 09:25:27 -05:00
Cole Helbling
47cabac4bf
hydra-eval-jobset: fix use of uninitialized value
...
This happens with flake jobsets for obvious reasons (namely, that nixexprinput
and nixexprpath may be undefined for a flake jobset).
12:38:59 hydra-evaluator.1 | Use of uninitialized value $args[0] in join or string at /home/vin/workspace/vcs/hydra/src/script/hydra-eval-jobset line 648.
12:38:59 hydra-evaluator.1 | Use of uninitialized value $args[1] in join or string at /home/vin/workspace/vcs/hydra/src/script/hydra-eval-jobset line 648.
2021-12-03 12:12:53 -08:00
Cole Helbling
5659d2982c
Hydra/Controller/Root: remove deprecated LocalRegex
...
11:38:20 hydra-server.1 | DEPRECATION WARNING: The Regex dispatch type is deprecated.
11:38:20 hydra-server.1 | It is recommended that you convert Regex and LocalRegex
11:38:20 hydra-server.1 | methods to Chained methods. at /nix/store/aa6gw57fnahd4824pbhmvcs0jlypmynq-hydra-perl-deps/lib/perl5/site_perl/5.32.1/Catalyst/DispatchType/Regex.pm line 210.
2021-12-03 12:12:53 -08:00
Cole Helbling
d56815cae6
Hydra/Helper/CatalystUtils: default trim arg to empty string
...
12:34:12 hydra-server.1 | Use of uninitialized value $s in substitution (s///) at /home/vin/workspace/vcs/hydra/src/script/../lib/Hydra/Helper/CatalystUtils.pm line 283, <$fh> line 1.
2021-11-30 13:10:31 -08:00
Cole Helbling
78233b8083
Hydra: Unicode::Encoding is auto-applied
...
11:28:20 hydra-server.1 | [warn] Unicode::Encoding plugin is auto-applied, please remove this from your appclass and make sure to define "encoding" config
2021-11-30 12:42:05 -08:00
Cole Helbling
f26b3e1779
Hydra/Event: fix scalar context warning
...
12:10:15 hydra-notify.1 | %channels_to_events{...} in scalar context better written as $channels_to_events{...} at /home/vin/workspace/vcs/hydra/src/lib/Hydra/Event.pm line 20.
2021-11-30 12:42:01 -08:00
Graham Christensen
b06457c75c
Titles of pages: make project:jobset:job names clickable
...
But don't make the final element clickable when we're looking at that
thing.
2021-11-22 20:20:06 -05:00
Graham Christensen
f1343b3a4c
layout.tt: support a title with HTML in it
...
By default, title is escaped. To support links in titles, support
providing the title with HTML in it.
2021-11-22 13:38:53 -05:00
Graham Christensen
03323f6ef1
TT: add helpers for linking to jobs, jobsets, and projects, and for generating colon separated names.
2021-11-22 13:38:53 -05:00
Graham Christensen
ecb4697930
update-dbix: overwrite modifications
...
Prevents authors from mistakenly corrupting the hashes
2021-11-19 15:02:07 -05:00
Eelco Dolstra
9ae676072c
Merge pull request #1051 from DeterminateSystems/restart-cancel-resultset-p2
...
Validate and fix canceling builds
2021-10-27 18:22:20 +02:00
Graham Christensen
d19890a4e1
JobsetEval/cancel: test & fix
2021-10-27 11:43:36 -04:00
Graham Christensen
ef9a9fa481
Merge pull request #1025 from lukegb/hydra-better-errors
...
Produce better errors for failing jobsets
2021-10-26 12:35:45 -04:00
Luke Granger-Brown
67ebce8493
Output evaluation errors without crashing if aggregate job is broken.
...
At the moment, aggregate jobs can easily break and cause the entire
evaluation to fail, which is not ideal. For Nixpkgs, we do have some
important aggregate jobs (like `tested`), but for debugging and building
purposes it's still useful to get a partial result even if the channel
won't actually advance.
This commit changes the behaviour of hydra-eval-jobs such that it
aggregates any errors found during the construction of an aggregate, and
will instead annotate the job with the evaluation failure such that it
shows up in a "cleaner" way.
There are really two types of failure that we care about: one is where
the attribute just ends up missing altogether in the final output, and
also where the attribute is in the output but fails to evaluate. Both
are handled here.
Note that this does mean that the same error message may be output
multiple times, but this aids debuggability because it'll be much
clearer what's blocking the job from being created.
2021-10-26 10:14:34 +01:00
Graham Christensen
ffedbe5996
restart/cancelBuilds: always pass resultsets explicitly
2021-10-25 22:21:48 -04:00
Graham Christensen
592fef9d82
Merge pull request #1049 from DeterminateSystems/drop-systemtypes
...
SystemTypes: drop database table.
2021-10-24 21:46:57 -04:00
Graham Christensen
802a5dfe68
Merge pull request #1048 from DeterminateSystems/fixup-1003
...
Hydra::Helper::Nix::getMachines: add a test
2021-10-24 21:38:38 -04:00
Graham Christensen
ff888032eb
SystemTypes: drop database table. It was originally removed in #65 , but put back in fcd511c4de
, and now totally unused.
2021-10-24 21:38:04 -04:00
Graham Christensen
5fbf1470bd
(perl) machines file: support machine lines with multiple spaces between fields
2021-10-24 21:30:53 -04:00
Graham Christensen
b817124337
Hydra::Helper::Nix::getMachines: add a test
...
Fix parsing breakage from #1003 : assigning the lines to $lines broke chomp and the filters.
This test validates the parsing works as expected, and also fixes
a minor bug where '-' in features isn't pruned, like in the C++
repo.
2021-10-23 22:53:55 -04:00
Graham Christensen
8cf158b7a9
Revert "Fix unhelpful error messages in aggregate jobs."
2021-10-23 22:23:29 -04:00
Graham Christensen
3516950d3c
Merge pull request #825 from samueldr/fix/unhelpful-errors-in-aggregates
...
Fix unhelpful error messages in aggregate jobs.
2021-10-23 20:34:50 -04:00
Graham Christensen
d98d74fa4f
perlcritic: doesn't like prototypes
2021-10-20 13:09:39 -04:00
Graham Christensen
7095d00608
perlcritic: make all open() calls three-argument
...
Two-argument calls end up parsing the second argument to guess what
should happen, three-arg parses ... less?
2021-10-20 13:09:39 -04:00
Graham Christensen
f0d0358ee4
Merge pull request #1043 from DeterminateSystems/perl-warnings
...
Fixup Perl warnings around undefined variables
2021-10-20 10:48:05 -04:00
Graham Christensen
a887b3d346
fixup! EmailNotification: address Use of uninitialized value in numeric eq (==)
2021-10-20 10:40:08 -04:00
Graham Christensen
a36d23c1dd
fixup! BitBucketStatus: address Use of uninitialized value in numeric eq (==)
2021-10-20 10:40:08 -04:00
Graham Christensen
3c38629fad
GitHubPulls: output sorted json without using jq
2021-10-20 10:05:31 -04:00
Graham Christensen
30d36da057
CoverityScan: fixup tarballshandle introduced in 21e1ff0da1
2021-10-19 22:04:57 -04:00
Graham Christensen
093e235bf0
GithubRefs: fixup "my" variable $type masks earlier declaration in same scope
2021-10-19 22:02:41 -04:00
Graham Christensen
0f8d02894a
hydra-eval-jobset: Scalar value @declInputs[0] better written as $declInputs[0] at hydra-eval-jobset line 570.
2021-10-19 21:52:39 -04:00
Graham Christensen
31cf249aed
S3Backup: check for bzip2 and xz Nix Config support (Use of uninitialized value ::Config::xz in concatenation)
2021-10-19 21:52:39 -04:00
Graham Christensen
bf692c9e8c
BitBucketStatus: address Use of uninitialized value in numeric eq (==)
2021-10-19 21:52:39 -04:00
Graham Christensen
4fd90ec784
EmailNotification: address Use of uninitialized value in numeric eq (==)
2021-10-19 21:52:39 -04:00
Graham Christensen
01112e9bd3
GitInput: deal with undefined deepClone
2021-10-19 21:52:39 -04:00
Eelco Dolstra
888ba467fd
/eval: Return more columns
...
Fixes #1038 .
2021-10-12 12:41:37 +02: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
Eelco Dolstra
19e668b7cd
Merge pull request #981 from jonringer/pure_eval
...
Allow for evaluator_pure_eval to be configured
2021-09-27 20:25:01 +02:00
Eelco Dolstra
2745226ada
Merge pull request #1003 from DeterminateSystems/perlcritic-level-4
...
perlcritic: level 4
2021-09-27 20:23:55 +02:00
Eelco Dolstra
66375fd2d9
Fix 'Error loading tab: 0 error' with uBlock Origin
...
/metrics-tab matches a rule in one of uBlock Origin's default
blocklists, so let's name it something else.
2021-09-27 17:42:56 +02:00
Eelco Dolstra
9bb3e30a46
Fix building $(srcdir)/static
...
Fixes
mv: cannot move './static/bootstrap-4.3.1-dist' to './static/bootstrap/bootstrap-4.3.1-dist': Directory not empty
when 'make' is called more than once.
2021-09-27 17:01:25 +02:00
Graham Christensen
c60c8d10ea
add api endpoint: /build/<id>/constituents
...
Returns a list of constituent builds
2021-09-24 16:30:44 -04:00
Maximilian Bosch
255d4a91bc
jobset-eval: pass full
parameter to "Compare to..."
...
When I take a look at *all* failing builds (by clicking at `[...] more
jobs omitted`) and I try to compare the failures to another jobset, I'd
like to still view *all* failing builds in the compare-view.
This wasn't the case before since the `full=`-param was ignored by the
compare-buttons.
2021-09-08 23:23:29 +02:00
Graham Christensen
741590c923
perlcritic: explicitly assign the result of readdir/file reads
2021-09-07 21:55:55 -04:00
Graham Christensen
85bb1c7ef9
(perlcritic) JSON::Any -> JSON::MaybeXS
2021-09-07 21:55:55 -04:00
Graham Christensen
c603ae35f0
perlcritic: Don't conditionally declare variables
2021-09-07 21:35:01 -04:00
Graham Christensen
b1879132af
ResultSet::TaskRetries: add missing method, get_retryable_task
...
Yet again, manual testing is proving to be insufficient. I'm pretty
sure I wrote this code but lost it in a rebase, or perhaps the switch
to result classes.
At any rate, this implements the actual "fetch a retry row and run it"
for the hydra-notify daemon.
Tested by hand.
2021-09-07 11:12:10 -04:00
Graham Christensen
d6aa3f8d15
Merge pull request #1011 from DeterminateSystems/retryable-notifications
...
Retryable notifications
2021-09-07 10:04:32 -04:00
Graham Christensen
21e1ff0da1
perlcritic: don't open files as bare words
2021-09-06 22:20:17 -04:00
Graham Christensen
efd1d78b97
Hydra::Helper::Nix: getHydraNotifyPrometheusConfig fixup strict warning around double-declaring cfg
2021-09-06 22:13:33 -04:00
Graham Christensen
c880888f1e
File::Slurp -> File::Slurper
2021-09-06 22:13:33 -04:00
Your Name
c54629b732
Helper/Nix.pm: perlcritic statsd in scalar context
2021-09-06 22:13:33 -04:00
Your Name
4677a7c894
perlcritic: use strict, use warnings
2021-09-06 22:13:33 -04:00
Graham Christensen
dd06ab7a99
Merge pull request #1004 from DeterminateSystems/avoid-a-b
...
Avoid $a, $b
2021-09-06 21:35:17 -04:00
Graham Christensen
ca4b8d449f
BitBucketStatus: tbuild -> build (typo)
2021-09-06 21:12:13 -04:00
Graham Christensen
d9df26ac5a
POD: improve wording, punctuation, caps
...
Co-authored-by: Cole Helbling <cole.helbling@determinate.systems>
2021-09-03 09:13:34 -04:00
Graham Christensen
ea3ae0693e
Hook up the retryable tasks with hydra-notify
2021-09-02 10:06:26 -04:00
Graham Christensen
c0e86faa78
hydra-notify: call TaskRetries->save_task if a task fails
2021-09-02 10:06:26 -04:00
Graham Christensen
b0055a23df
TaskDispatcher: Support re-queueing tasks, and dropping tasks after 100 failures.
2021-09-02 10:06:26 -04:00
Graham Christensen
d0b0fc21b3
ResultSet::TaskRetries: teach about saving tasks
2021-09-02 10:06:26 -04:00
Graham Christensen
147fa4d029
Result::TaskRetries: Teach about requeue
2021-09-02 10:06:26 -04:00
Graham Christensen
42c2d2f387
Hydra::Math: add an exponential_backoff function
2021-09-02 10:06:26 -04:00
Graham Christensen
29738364fb
ResultSet::TaskRetries: add get_seconds_to_next_retry
...
Get the number of seconds before the next retriable task is ready.
This number is specifically intended to be used as a timeout, where
`undef` means never time out.
2021-09-02 10:06:26 -04:00
Graham Christensen
c4134c8e84
TaskRetries: init table
2021-09-02 10:06:26 -04:00
Graham Christensen
1f2adf61aa
hydra-notify: extract runPluginsForEvent to a TaskDispatcher
2021-09-02 10:06:26 -04:00
Graham Christensen
fa57fb8f25
hydra.sql: explain update-dbix.pl map
2021-08-26 22:10:19 -04:00
Graham Christensen
397d13a300
DBIx::Class: migrate to use_namespaces
...
This gives us a place to put helper functions that act on entire
tables, not just individual records.
This should be a backwards compatible change, except in places we're
manually using result class names.
2021-08-26 12:37:19 -04:00
Your Name
24467a7bde
Nix::getHydraNotifyPrometheusConfig: print errors if the configuration provided is invalid.
2021-08-24 11:35:38 -04:00
Your Name
4ebdcc290e
fixup! hydra-notify: pre-declare metrics
2021-08-24 10:57:23 -04:00
Your Name
45e8fa5319
hydra-notify: support sending diagnostic dumps to STDERR on request
2021-08-24 10:56:13 -04:00
Your Name
de2282bcf4
hydra-notify: print out log lines indicating it is or is not launching the exporter
2021-08-24 10:56:13 -04:00
Your Name
5c1228e141
hydra-notify: pre-declare metrics
2021-08-24 10:56:13 -04:00