Commit graph

3805 commits

Author SHA1 Message Date
Graham Christensen d6dea39912 ldap_role_map.t: fixup indentation 2022-02-11 10:53:08 -05:00
Graham Christensen 185100adb8 docs: fixup 2022-02-11 10:50:58 -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
Janne Heß 61d74a7194 Redo LDAP config in the main configuration and add role mappings 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 74a29e8ea9
Merge pull request #1150 from DeterminateSystems/ldap-tests
LDAP: Test without a VM
2022-02-10 12:05:19 -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 4acaf9c8b0 hydra-queue-runner: don't dispatch until the machines parser has completed one run
Periodically, I have seen tests fail because of out of order queue runner behavior:

    checking the queue for builds > 0...
    loading build 1 (tests:basic:empty_dir)
    aborting unsupported build step '...-empty-dir.drv' (type 'x86_64-linux')
    marking build 1 as failed
    adding new machine ‘localhost’

This patch should prevent the dispatcher from running before any machines are
made available.
2022-02-10 10:54:30 -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 5506962537 Test::Postgresql: update to a tagged fork to improve paralellism 2022-02-10 09:37:48 -05:00
Graham Christensen 4837a68d8d LDAPContext: don't background slapd 2022-02-10 09:28:53 -05:00
Graham Christensen 8bce8109e3 flake.nix: drop the LDAP server test 2022-02-09 20:56:10 -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 e4adec36f3 Set an env var in the build environment to point to the root of openldap 2022-02-09 20:56:10 -05:00
Graham Christensen 60adee7f94 hydra check inputs: add openldap 2022-02-09 20:56:10 -05:00
Graham Christensen 9ae7c8bddc Hydra::Helper::Exec add an expectOkay which dies with stdout / stderr on exit 2022-02-09 20:56:10 -05:00
Graham Christensen 5184e895df
Merge pull request #1148 from DeterminateSystems/hydra-helper-exec
captureStdoutStderr*: move to Hydra::Helper::Exec which helps avoid some environment variable fixation problems
2022-02-09 14:42:07 -05:00
Graham Christensen a374ef7d81
Merge pull request #1149 from DeterminateSystems/flake-format
flake.nix: format with nixpkgs-fmt
2022-02-09 14:40:48 -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 68c6c3d556 flake.nix: format with nixpkgs-fmt 2022-02-09 10:43:40 -05:00
Graham Christensen 1abe7f4d80
Merge pull request #1145 from DeterminateSystems/eval-status
`eval_*` events: change the API to include IDs and use \t separators
2022-02-09 10:23:15 -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 3864ca820a
Merge pull request #1144 from DeterminateSystems/eval-event-cleanup
Eval event cleanup
2022-02-08 09:50:33 -05:00
Graham Christensen c0eb873379 notifications: document eval_* 2022-02-07 18:08:01 -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
Graham Christensen 7b7c03a521
Merge pull request #1141 from amerocu/amerocu/fix-dev-env
missing develop dependencies
2022-02-06 14:35:27 -05:00
Marco Turchetto 73f2cc184f missing develop dependencies 2022-02-05 20:28:44 +01:00
Graham Christensen 85b842e0ac
Merge pull request #1137 from DeterminateSystems/runcommand-logs
Store and display the output of RunCommands
2022-01-31 16:26:31 -05:00
Cole Helbling b57345ba1f hydra.sql: add IndexRunCommandLogsOnBuildID index 2022-01-31 12:56:34 -08:00
Cole Helbling d0b6329aa8 sql/upgrade-81: remove unnecessary comment 2022-01-31 12:55:36 -08:00
Cole Helbling 9c4e6f78e7 hydra-module: don't bzip2 runcommand-logs 2022-01-31 12:55:36 -08:00
Cole Helbling 8c67e32480 RunCommand: ensure we reset the umask 2022-01-31 12:55:36 -08:00
Cole Helbling 34e4c119f4 build.tt: don't duplicate RunCommandLog buttons 2022-01-31 11:40:16 -08: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 e381751564 Helper/Nix: constructRunCommandLogPath: return undef in case of an error
This allows us to give a web request to an invalid UUID a 404.
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 61914d56c6 runcommand-log.tt: escape the command 2022-01-31 08:58:33 -08:00