Graham Christensen
848fb3b265
ldap-legacy.t: specify the root password manually
2022-02-11 11:26:56 -05:00
Graham Christensen
0bd4a75918
HydraTestContext: support running a sub before running hydra-init.
2022-02-11 11:26:27 -05:00
Graham Christensen
e13d80f5cf
LDAPContext: take a root_password argument or generate one
2022-02-11 11:02:04 -05:00
Graham Christensen
86bb16d07b
LDAPContext: sort $self hash keys
2022-02-11 11:01:25 -05:00
Graham Christensen
6637c03985
fixup normalization error regex
2022-02-11 10:59:24 -05:00
Graham Christensen
71c06f2ce7
LDAP normalization errors: note that the error came while normalizing the roles.
2022-02-11 10:55:27 -05:00
Graham Christensen
d6dea39912
ldap_role_map.t: fixup indentation
2022-02-11 10:53:08 -05:00
Graham Christensen
f07fb7d279
LDAP support: include BC support for the YAML based loading
...
Includes a refactoring of the configuration loader.
2022-02-11 10:49:38 -05:00
Graham Christensen
76b4b43ac5
Move ldap.t to a legacy-ldap.t, make ldap.t use the new format config.
2022-02-11 10:49:38 -05:00
Graham Christensen
d0bc0d0eda
Merge pull request #1152 from DeterminateSystems/parallel-tests
...
Parallel tests, fix a hydra-queue-runner race condition
2022-02-10 12:11:20 -05:00
Graham Christensen
4f9aea9434
t/Hydra/Plugin/gitea.t: explain why we loop a few times
...
Co-authored-by: Cole Helbling <cole.e.helbling@outlook.com>
2022-02-10 12:02:29 -05:00
Graham Christensen
a1579007f4
Update t/test.pl: fixup the list of env vars yath looks at for job count
2022-02-10 11:53:10 -05:00
Graham Christensen
b1b1b4b74b
t/lib/LDAPContext.pm: error message nit
...
Co-authored-by: Cole Helbling <cole.e.helbling@outlook.com>
2022-02-10 11:31:49 -05:00
Graham Christensen
33f4c4c13d
build-locally-with-substitutable-path.t: give nix-store --delete a bit more time to run
...
Under high load, like 64-128 tests at once, this can take more than a second.
2022-02-10 11:13:31 -05:00
Graham Christensen
e709a17508
gitea.t: try opening the file a few times
2022-02-10 11:01:09 -05:00
Graham Christensen
09652475bd
Set the YATH_JOB_COUNt to NIX_BUILD_CORES if no parallelism variables are set
2022-02-10 10:00:32 -05:00
Graham Christensen
4837a68d8d
LDAPContext: don't background slapd
2022-02-10 09:28:53 -05:00
Graham Christensen
80c6525029
LDAP: Create a test which does not use a VM
2022-02-09 20:56:10 -05:00
Graham Christensen
845e6d4760
captureStdoutStderr*: move to Hydra::Helper::Exec which helps avoid some environment variable fixation problems
2022-02-09 14:28:50 -05:00
Graham Christensen
517dce285a
eval_added event: change interface to traceID\tjobsetID\tevaluationID
...
I was not going to break the interface until I noticed
the current implementation uses the string literal \t.
2022-02-08 09:51:35 -05:00
Graham Christensen
d512e6220f
eval_failed event: change interface to traceID\tjobsetID
...
I was not going to break the interface until I noticed the other eval_* events used literal \ts
2022-02-08 09:51:35 -05:00
Graham Christensen
2597fa8c11
eval_cached event: change interface to traceID\tjobsetID\tevaluationID
...
I was not going to break the interface until I noticed
the current implementation uses the string literal \t.
2022-02-08 09:51:35 -05:00
Graham Christensen
be531c6c57
notifications.t: create a helper to parse the actual messages from the evaluator using the Event code
2022-02-08 09:51:35 -05:00
Graham Christensen
c30f084f32
eval_started event: change interface to traceID\tjobsetID
...
I was not going to break the interface until I noticed
the current implementation uses the string literal \t.
2022-02-08 09:51:35 -05:00
Graham Christensen
f648e91487
StepFinished.t: fixup use
2022-02-07 16:08:40 -05:00
Graham Christensen
7107ce2bc7
t/Event/* -> t/Hydra/Event/
2022-02-07 16:08:40 -05:00
Graham Christensen
8a18326f2b
Sort notification classes / events
2022-02-07 16:08:27 -05:00
Maximilian Bosch
5ae26aa760
Update Nix to 2.6
2022-02-06 15:05:15 +01:00
Graham Christensen
d8b56f022d
RunCommand: print a warning if the hook isn't run because the project / jobset doens't have it enabled
2022-02-01 10:58:54 -05:00
Graham Christensen
38514ae494
fanout tests: capture warnings and test their relevance
2022-02-01 10:58:54 -05:00
Graham Christensen
2635607b6e
whoops: add a test on the enable_dynamic_run_command field
2022-02-01 10:58:54 -05:00
Graham Christensen
1affb1cfb1
jobset API: expose and check the enable_dynamic_run_command
2022-02-01 10:58:54 -05:00
Graham Christensen
726ea80e99
HTTP/Jobset: support setting / reading enable_dynamic_run_command
2022-02-01 10:58:54 -05:00
Graham Christensen
0810f5debc
finish making the dynamic hooks only run on project & jobset agreement
2022-02-01 10:58:54 -05:00
Graham Christensen
0c96172c28
RunCommand: only run dynamic runcommand hooks if the project AND jobset agree they should be enabled
2022-02-01 10:58:54 -05:00
Graham Christensen
3cce0c5ef6
Only run dynamic runcommand hooks if the jobset enables them
2022-02-01 10:57:30 -05:00
Graham Christensen
216d8bee35
DynamicRunCommand: don't run if the build failed
2022-02-01 10:57:30 -05:00
Graham Christensen
1a30a0c2f1
Dynamic RunCommand: validate that the job's out exists, is a file (or points to a file) which is executable.
2022-02-01 10:57:30 -05:00
Graham Christensen
c2be27e82b
fanout.t: switch to makeAndEvaluateJobset
2022-02-01 10:57:30 -05:00
Graham Christensen
e7f68045f4
DynamicRunCommand: pull out the function determining if a build is
...
eligible for execution under dynamic run commands.
2022-02-01 10:57:30 -05:00
Graham Christensen
e56c49333f
RunCommand: Add a WIP execution of dynamic commands
...
This in-progress feature will run a dynamically generated set of
buildFinished hooks, which must be nested under the `runCommandHook.*`
attribute set. This implementation is not very good, with some to-dos:
1. Only run if the build succeeded
2. Verify the output is named $out and that it is an executable file
(or a symlink to a file)
3. Require the jobset itself have a flag enabling the feature, since
this feature can be a bit dangerous if various people of different
trust levels can create the jobs.
2022-02-01 10:57:30 -05:00
Graham Christensen
ea311a0eb4
RunCommand: enable the plugin if dynamicruncommand is set
2022-02-01 10:57:30 -05:00
Cole Helbling
61189ecca9
Helper/Nix: constructRunCommandLogPath: verify uuid is valid
...
This shouldn't be possible normally, but it is possible to:
$db->resultset('RunCommandLogs')->new({ uuid => "../etc/passwd" });
if you have access to the `$db`.
2022-01-31 08:58:33 -08:00
Cole Helbling
2c6487b8d7
t/Helper: test constructRunCommandLogPath
2022-01-31 08:58:33 -08:00
Cole Helbling
8bf3cdbc67
t/Helper: switch to using test_context()
2022-01-31 08:58:33 -08:00
Cole Helbling
8eab7b8543
Helper/Nix: constructRunCommandLogPath: take RunCommandLog as input
...
This way we ensure that it actually exists in the database, rather than
blindly trusting user-generated input.
2022-01-31 08:58:33 -08:00
Cole Helbling
38896db6b6
t/RunCommand: init http.t
...
Test that we can indeed visit the pages of a valid runcommand log and
not of an invalid one.
2022-01-31 08:58:33 -08:00
Cole Helbling
47c1f89d5a
t/RunCommand: fixup basic.t to use uuid
2022-01-31 08:58:33 -08:00
Graham Christensen
dcb0c1425c
RunCommandLogs: set a UUID automatically
2022-01-31 08:58:33 -08:00
Cole Helbling
3e722f1d0a
t/RunCommand: remove duplicate use
2022-01-28 13:07:11 -08:00