Graham Christensen
f30ca3c423
showJobName: use jobset/project columns
2022-01-11 11:51:31 -05:00
Graham Christensen
ceb6ea252a
CatalystUtils.pm: don't use Hydra::Helper::Nix
...
Using it causes database information to get fixated early, before tests can set a
new database. We only used it in one case, and that is an absolute reference anyway. The
tests for channel generation are passing, and that uses
[requireLocalStore, so this should be fine.
2022-01-11 11:47:42 -05:00
Cole Helbling
9b12a88d81
BuildDiff: ensure buildstatus is defined
...
buildstatus won't be defined if e.g. a build is queued but none have
failed.
2022-01-10 12:11:06 -08:00
Cole Helbling
b98dbe01c3
BuildDiff: slight cleanup
...
Remove debugging Data::Dumper import, make comment describing function
inputs more readable.
2022-01-10 12:11:06 -08:00
Cole Helbling
ef6a2c96e7
JobsetEval: add the result of buildDiff to $c->stash
2022-01-10 12:11:06 -08:00
Cole Helbling
98375e9086
BuildDiff: bring back the sort
2022-01-10 12:11:05 -08:00
Cole Helbling
ceb81e7d78
BuildDiff: actual list reference to $builds2
2022-01-10 12:11:05 -08:00
Cole Helbling
458214381d
BuildDiff: document what the inputs mean
...
They were tripping me up, so it helped to know exactly what they were at
the ~point they're used.
2022-01-10 12:11:05 -08:00
Cole Helbling
ff12218d02
BuildDiff: cleanup imports and make slightly more readable
2022-01-10 12:11:05 -08:00
Cole Helbling
ec98bdaaaa
BuildDiff: move cmdBuilds from Controller/JobsetEval
2022-01-10 12:11:05 -08:00
Cole Helbling
0c51f3ca7d
BuildDiff: make actual hash ref
2022-01-10 12:11:05 -08:00
Cole Helbling
1349887974
BuildDiff: split out from JobsetEval GET impl
2022-01-10 12:11:05 -08:00
Cole Helbling
aba0422865
JobsetEval: allow restarting failed builds even with no eval to compare to
2022-01-10 12:10:56 -08:00
Graham Christensen
98c88a4dbf
Merge pull request #1097 from DeterminateSystems/api-test-warnings
...
Api test warnings: clean up
2022-01-10 14:03:38 -05:00
Graham Christensen
3874db4fb7
PathInput: make the hash part of the revision
2022-01-10 11:23:22 -05:00
Graham Christensen
832fa8c73d
Controller/Jobset: make some warnings about undef's go away
2022-01-10 10:33: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
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
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
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
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
d19890a4e1
JobsetEval/cancel: test & fix
2021-10-27 11:43:36 -04: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
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
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
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
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
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
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
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
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
6d7ee27d25
hydra-notify: make the prometheus endpoint configurable, default-off
2021-08-24 10:56:13 -04:00
Graham Christensen
e9ba0b56f6
BuildFinished : $b -> $build (perlcritic)
2021-08-20 21:52:32 -04:00
Graham Christensen
5e10648a98
CoverityScan: $b -> $build (perlcritic)
2021-08-20 21:52:32 -04:00
Graham Christensen
c929f5cac0
SlackNotification: $build -> $topbuild, $b -> $build (perlcritic)
2021-08-20 21:52:32 -04:00
Graham Christensen
b4f9807290
GithubStatus: $build -> $topbuild, $b -> $build (perlcritic)
2021-08-20 21:52:32 -04:00
Graham Christensen
5c9d8794b1
GiteaStatus: $build -> $topbuild, $b -> $build (perlcritic)
2021-08-20 21:52:32 -04:00
Graham Christensen
3920bf1df3
BitBucketStatus: $build -> $topbuild, $b -> $build (perlcritic)
2021-08-20 21:52:32 -04:00
Graham Christensen
bcf37ab705
GitlabStatus: $build -> $topbuild, $b -> $build (perlcritic)
2021-08-20 21:52:32 -04:00
Graham Christensen
b4a19fd3c8
HIpChatNotification: $build -> $topbuild, $b -> $build (perlcritic)
2021-08-20 21:52:32 -04:00
Graham Christensen
0d4ce15c62
EmailNotification: $build -> $topbuild, $b -> $build (perlcritic)
2021-08-20 21:52:32 -04:00