Commit graph

3571 commits

Author SHA1 Message Date
Maximilian Bosch a18b487403
hydra-queue-runner: support store URIs declaring an alternate store location
When having a builder like this in `/etc/nix/machines`

    ssh://mfbuild?remote-store=/home/bosch/store

Hydra cannot build there since it tries to pass the entire value to
`ssh(1)` which doesn't work. Also, an alternate store-location is e.g.
used if the user isn't a trusted user on the remote system and thus
cannot use `/nix/store`.

If such a URI is given, Hydra will now add a `--store /home/bosch/store`
to the `ssh`-command to select the appropriate location remotely.
2022-01-12 15:56:05 +01:00
Graham Christensen f4e86a3236
Merge pull request #1089 from DeterminateSystems/config/tracker
Fetch the tracker HTML from the config file, remove HYDRA_TRACKER
2022-01-06 15:48:47 -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 76962bfcb0
Merge pull request #1083 from DeterminateSystems/faster-notifications
Faster notifications and buildQueued support
2021-12-23 09:23:00 -05:00
Graham Christensen 189d4fdabe build_queued: document in the notifications docs 2021-12-21 20:57:53 -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 eb5f6c8490
Merge pull request #1084 from DeterminateSystems/measure-per-event-duration
hydra-notify: track the duration of handling an event
2021-12-21 20:00:30 -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 e1e5fafdff
Merge pull request #1079 from DeterminateSystems/dev-server
foreman: run the dev server with --restart and --debug
2021-12-17 10:03:08 -05:00
Graham Christensen aaec4bb626 foreman: run the dev server with --restart and --debug
Debug enables info and debug log levels and provides quite a lot of useful dev-time information.

Restart automatically restarts the app when the .pm files change.
2021-12-16 10:20:25 -05:00
Graham Christensen cf6f78c365
Merge pull request #1078 from DeterminateSystems/fixup-queue-runner-status
queue-runner-status: fixup from perlcritic-level-2
2021-12-15 18:44:07 -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 42f0dee441
Merge pull request #1076 from DeterminateSystems/HydraTestContext
HydraTestContext: init a context object for helpers
2021-12-14 21:22:43 -05:00
Graham Christensen fbce3b6ed1 default-machine-file: use makeAndEvaluateJobset 2021-12-14 20:52:40 -05:00
Graham Christensen 06f824ca48 notifications.t: use system() with lists 2021-12-14 20:48:19 -05:00
Graham Christensen 5836bc9a11 HydraTestContext::makeAndEvaluateJobset: make a random user 2021-12-14 20:48:07 -05:00
Graham Christensen c2384a04d8 notifications.t: move to makeAndEvaluateJobset 2021-12-14 20:41:21 -05:00
Graham Christensen 008321d972 build-products: switch to makeAndEvaluateJobset 2021-12-14 20:32:13 -05:00
Graham Christensen 7333d444c6 evaluate-basic.t: move to makeAndEvaluateJobset 2021-12-14 20:25:54 -05:00
Graham Christensen adfe74b76a HydraTestContext: give a helper for creating a project, jobset, evaluating jobs, and optionally building them.
In return, get a hash of all the build records.
2021-12-14 20:25:42 -05:00
Graham Christensen 3238496b3d t/Setup: move subs calling hydra-* programs to a CliPrograms module
Makes it so HydraTestContext can call them without an import loop
2021-12-14 20:25:02 -05:00
Graham Christensen 1fa141229f HydraTestContext: explicitly stop the db
This might, hopefully, I don't know, possibly force the
database to live a little while longer and *reduce* but not
eliminate errors around stopping the database before we lose all
our DB::PG handles to it.
2021-12-14 19:51:12 -05:00
Graham Christensen eca09bc980 Attempt to fix errors during test teardown 2021-12-14 16:31:41 -05:00
Graham Christensen a466d53d18
Merge pull request #1075 from DeterminateSystems/perlcritic-level-1
Perlcritic level 1
2021-12-14 12:09:30 -05:00
Graham Christensen cff387a027
Merge pull request #1045 from DeterminateSystems/perlcritic-level-2
Perlcritic: level 2
2021-12-14 11:29:19 -05:00
Graham Christensen e43f487157 perlcritic: return undef in list context too 2021-12-14 10:24:53 -05:00
Graham Christensen d0a1cf5785 perlcritic: level 1 2021-12-14 10:24:34 -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 fc49a7129d JSON -> JSON::MaybeXS 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 327d79bc1d pin 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 d16c57e5f1 perlcritic: level 2 2021-12-13 15:35:07 -05:00
Graham Christensen ed58ad0c2b
Merge pull request #1073 from DeterminateSystems/runcommand-tests
Runcommand: Expand the test coverage
2021-12-09 09:44:20 -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 b7962c3882 RunCommand: Move the json validation testing to its own test 2021-12-08 20:29:27 -05:00
Graham Christensen 2ce0ab9f51 RunCommand: move JSON generation to its own function 2021-12-08 20:09:48 -05:00
Graham Christensen bb91f96381 RunCommand: test isEnabled, configSectionMatches, and eventMatches 2021-12-08 20:03:43 -05:00
Graham Christensen 9dfa34682d RunCommand tests: move in to a subdirectory 2021-12-08 20:03:43 -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
Graham Christensen 7227395a72
Merge pull request #1068 from DeterminateSystems/fix-some-warnings
Fix some warnings
2021-12-03 15:38:46 -05:00