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
bec44614f4
Merge pull request #1014 from Ma27/fix-gitea-test
...
gitea-plugin: fix test
2021-08-30 09:43:59 -04:00
Maximilian Bosch
e36353532c
gitea-plugin: fix test
...
The test seems to be broken for a while[1]. The cause for this is that
in gitea 1.14 the `create-user` command got renamed to `user create`.
[1] https://hydra.nixos.org/build/151092299
2021-08-29 00:08:59 +02:00
Graham Christensen
a0a9d4c1c3
Merge pull request #1009 from DeterminateSystems/dbix-docs
...
hydra.sql: explain update-dbix.pl map
2021-08-27 10:22:53 -04:00
Graham Christensen
fa57fb8f25
hydra.sql: explain update-dbix.pl map
2021-08-26 22:10:19 -04:00
Graham Christensen
f81905fce4
Merge pull request #1007 from DeterminateSystems/resultset-class-namespaces
...
DBIx::Class: migrate to use_namespaces
2021-08-26 16:30:07 -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
Graham Christensen
da55838703
Merge pull request #1001 from DeterminateSystems/hydra-notify-prometheus
...
hydra-notify: export prometheus metrics
2021-08-25 11:50:43 -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
Your Name
f4ad80527a
hydra-notify: Enable the prometheus exporter in development environments by default
2021-08-24 10:56:13 -04:00
Your Name
6d7ee27d25
hydra-notify: make the prometheus endpoint configurable, default-off
2021-08-24 10:56:13 -04:00
Your Name
5d0ad5f649
hydra-notify: initial scratch take of prometheus events
2021-08-24 10:56:12 -04:00
Graham Christensen
4aa6a7b6ee
Merge pull request #1002 from DeterminateSystems/perlcritic
...
Check the perl with perlcritic
2021-08-20 14:28:35 -04:00
Your Name
4632132d02
fixup perlcritic: indirect new
...
> Subroutine new called using indirect syntax at line 14, column 14. See page 349 of PBP. (Severity: 5)
2021-08-20 11:39:19 -04:00
Your Name
241985fb2d
Start checking PRs with perlcritic
2021-08-20 11:06:43 -04:00
Your Name
098e48d055
Flake: add perlcritic deps
2021-08-19 16:17:49 -04:00
Your Name
194eda28b7
flake.nix sort hydra-perl-deps inputs
2021-08-18 15:10:55 -04:00
Graham Christensen
ff7ecf50d9
Merge pull request #1000 from DeterminateSystems/fixup/pr-998'
...
#998 : Batch of fixups
2021-08-16 16:18:24 -04:00
Your Name
6e65c3b320
hydra-notify: fixup printing of build IDs
...
Used to print:
sending notifications for build Hydra::Model::DB::Builds=HASH(0x124cf960)->id...
Now it prints:
sending notifications for build 123...
2021-08-16 16:09:05 -04:00
Your Name
2c50227082
hydra-notify: properly call new_event
2021-08-16 15:52:25 -04:00
Your Name
e572a5e576
hydra-notify: use Hydra::Event
2021-08-16 15:52:14 -04:00
Your Name
d311a0d002
hydraJobs.tests.notifications: fixup file reference
2021-08-16 15:51:51 -04:00
Graham Christensen
fda3ed1d4e
Merge pull request #999 from DeterminateSystems/fixup/pr-998
...
lib/makefile: include Event/*.pm
2021-08-16 14:13:18 -04:00
Your Name
cfd3034af8
lib/makefile: include Event/*.pm
2021-08-16 14:04:48 -04:00
Graham Christensen
2433dd96ee
Merge pull request #998 from DeterminateSystems/notify-events
...
hydra-notify: abstract event handling, make testable
2021-08-16 13:22:42 -04:00
Graham Christensen
fa6d7abc13
hydra-notify: move BuildFinished processing to an Event
2021-08-13 16:51:29 -04:00
Graham Christensen
4a1389e36e
hydra-notify: move StepFinished processing to an Event
2021-08-13 16:51:29 -04:00
Graham Christensen
4fdb20d3bd
hydra-notify: move BuildStarted processing to an Event
2021-08-13 16:51:29 -04:00
Graham Christensen
10e85e3422
hydra-notify: Create a helper for running each plugin on an event
2021-08-13 16:51:29 -04:00
Graham Christensen
d02c6794f4
Event: teach how to execute a plugin
2021-08-13 16:51:29 -04:00
Graham Christensen
4e86e55008
Event.pm: add a new_event helper to parse and construct an Event
...
An Event will be part of many Tasks
2021-08-13 16:51:29 -04:00
Graham Christensen
64a3e75c10
Event: init structure and parse existing messages
2021-08-13 16:51:29 -04:00
Graham Christensen
a14c8ad5f8
Merge pull request #995 from DeterminateSystems/declarative-jobsets-plugin
...
Declarative jobsets: move event handling to a plugin
2021-08-12 15:56:13 -04:00
Graham Christensen
0f958f3425
Merge pull request #997 from DeterminateSystems/abstract-listener
...
Abstract over postgres' LISTEN/NOTIFY
2021-08-12 14:00:34 -04:00
Graham Christensen
f30addb9d7
Merge pull request #996 from DeterminateSystems/cleanup-build-finished
...
hydra-notify: move buildFinished query in to the function impl
2021-08-12 13:57:13 -04:00
Graham Christensen
5027003285
Abstract over postgres' LISTEN/NOTIFY
...
This lets us test the event loop if we wanted, and lets us
test the listening behavior in isolation.
2021-08-12 13:54:05 -04:00
Graham Christensen
593af41808
Declarative jobsets: move event handling to a plugin
...
Declarative jobsets were sort of tucked in to the event hanlder
itself. It turned out that it could have been implemented as a
plugin without much trouble.
2021-08-12 12:48:18 -04:00
Graham Christensen
9c5f317453
hydra-notify: move buildFinished query in to the function impl
...
This is more consistent with the other event handlers, of dealing
with IDs and not objects.
2021-08-12 12:30:35 -04:00