0ab357e435
jobset-eval: fix actions not showing up sometimes for new jobs
...
New jobs have their "new" status take precedence over them being
"failed" or "queued", which means actions that can act on "failed" or
"queued" jobs weren't shown to the user when they could only act on
"new" jobs.
(cherry picked from commit 9a4a5dd624
)
2025-04-16 09:50:32 +10:00
99359c251a
lazy-load evaluation errors
...
Closes #1362
2025-04-07 11:54:47 -04:00
b6f44b5cd0
Merge pull request #1402 from NixOS/like-sub
...
tests: use `like` for testing regexes
2024-09-15 23:50:13 +02:00
f730433789
Create eval-jobset role and guard /api/push route
2024-08-27 19:49:05 +02:00
916531dc9c
api: Require POST for /api/push
2024-08-27 17:52:13 +02:00
250780aaf2
tests: use like
for testing regexes
...
This gives us better diagnostics when the test fails.
2024-08-21 08:34:25 +02:00
ce001bb142
Relax time interval checks
...
I saw one of these failing randomly.
2023-06-23 15:09:09 +02:00
fd765bc97a
Fix "My Jobs" tab in user dashboard
...
Nowadays `Builds` doesn't reference `Project` directly anymore. This
means that simply resolving both `jobset` and `project` with a single
JOIN from `Builds` doesn't work anymore. Instead we need to resolve the
relation to `jobset` first and then the relation to `project`.
For similar fixes see e.g. c7c4759600
.
2022-11-22 20:54:51 +01:00
d3fe4ffbf6
Job: expose closuresize
and size
(output size in the UI) as prometheus metrics
2022-09-22 10:47:22 +02:00
5c90edd19f
Merge pull request #1103 from DeterminateSystems/runcommand/dynamic
...
Dynamic RunCommand
2022-04-19 10:09:47 -04:00
edf3c348f2
hydra-queue-runner: make entire address configurable
2022-04-06 10:59:45 -07:00
9c1f36c47c
t/lib/HydraTestContext: set queue runner port to 0
...
This makes the exposer choose a random, available port.
2022-03-29 11:41:23 -07:00
928ba9e854
Controller/{Jobset,Project}: error when enabling dynamic runcommand but it's disabled elsewhere
2022-02-11 14:35:52 -05:00
78e9872251
ldap.t: write the password to an external .conf file
2022-02-11 11:27:10 -05:00
848fb3b265
ldap-legacy.t: specify the root password manually
2022-02-11 11:26:56 -05:00
6637c03985
fixup normalization error regex
2022-02-11 10:59:24 -05:00
71c06f2ce7
LDAP normalization errors: note that the error came while normalizing the roles.
2022-02-11 10:55:27 -05:00
d6dea39912
ldap_role_map.t: fixup indentation
2022-02-11 10:53:08 -05:00
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
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
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
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
e709a17508
gitea.t: try opening the file a few times
2022-02-10 11:01:09 -05:00
80c6525029
LDAP: Create a test which does not use a VM
2022-02-09 20:56:10 -05:00
845e6d4760
captureStdoutStderr*: move to Hydra::Helper::Exec which helps avoid some environment variable fixation problems
2022-02-09 14:28:50 -05:00
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
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
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
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
f648e91487
StepFinished.t: fixup use
2022-02-07 16:08:40 -05:00
7107ce2bc7
t/Event/* -> t/Hydra/Event/
2022-02-07 16:08:40 -05:00
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
38514ae494
fanout tests: capture warnings and test their relevance
2022-02-01 10:58:54 -05:00
2635607b6e
whoops: add a test on the enable_dynamic_run_command field
2022-02-01 10:58:54 -05:00
1affb1cfb1
jobset API: expose and check the enable_dynamic_run_command
2022-02-01 10:58:54 -05:00
726ea80e99
HTTP/Jobset: support setting / reading enable_dynamic_run_command
2022-02-01 10:58:54 -05:00
0810f5debc
finish making the dynamic hooks only run on project & jobset agreement
2022-02-01 10:58:54 -05:00
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
3cce0c5ef6
Only run dynamic runcommand hooks if the jobset enables them
2022-02-01 10:57:30 -05:00
216d8bee35
DynamicRunCommand: don't run if the build failed
2022-02-01 10:57:30 -05:00
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
c2be27e82b
fanout.t: switch to makeAndEvaluateJobset
2022-02-01 10:57:30 -05:00
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
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
ea311a0eb4
RunCommand: enable the plugin if dynamicruncommand is set
2022-02-01 10:57:30 -05:00
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
2c6487b8d7
t/Helper: test constructRunCommandLogPath
2022-01-31 08:58:33 -08:00
8bf3cdbc67
t/Helper: switch to using test_context()
2022-01-31 08:58:33 -08:00
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
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