Cole Helbling
1554750acc
RunCommand: use make_path over mkdir
...
This will make all necessary parent directories a la `mkdir -p`.
2022-01-28 13:03:15 -08:00
Cole Helbling
bf3c46ed43
RunCommand: use IPC::Run to spawn the command
...
This allows `logPath`s with spaces and other characters that might
otherwise cause problems inside a `system()` call.
2022-01-28 13:03:15 -08:00
Cole Helbling
bb16f4fb10
RunCommand: set umask when creating log paths
...
This uses the somewhat restrictive umask of 0027 so that people outside
the user or group cannot read the files. This also helps to inhibit
TOCTOU where someone else has a handle to our file before we chmod it
and after we close it.
2022-01-28 13:03:15 -08:00
Cole Helbling
5d3912962b
RunCommand: use helper functions to ensure filenames and paths are the same
...
Otherwise, it's possible someone updates the format in one place but not
the others, leading to broken or incorrect functionality.
2022-01-28 13:03:15 -08:00
Cole Helbling
14090fbb86
runcommand-log.tt: init
2022-01-28 13:03:15 -08:00
Janne Heß
796ce165d4
RunCommand: Allow displaying command output
2022-01-28 13:03:15 -08:00
Janne Heß
4cb5e6cd94
RunCommand: Capture the output of the commands
2022-01-28 13:00:17 -08:00
Graham Christensen
44cd890ae3
Merge pull request #1130 from DeterminateSystems/prompt-password
...
hydra-create-user: support prompting for password
2022-01-21 15:38:39 -05:00
Graham Christensen
b8f72d7ff2
LDAP support: require the prefix 'hydra_' to match documentation
2022-01-21 10:48:04 -05:00
Graham Christensen
3a6c25489c
Hydra::Helper::Nix: expose a captureStdoutStderrWithStdin, make it available in tests
2022-01-21 10:40:06 -05:00
Graham Christensen
d4fe7e55dd
Hydra::Helper::Nix: sort exported functions
2022-01-21 10:40:06 -05:00
Graham Christensen
8c50cd06e4
machines: ensure the jobset name is present
2022-01-15 17:11:08 -05:00
Graham Christensen
c8dc6a9419
Plugins: get project and jobset information from the project and jobset tables
2022-01-15 15:58:02 -05:00
Graham Christensen
c539deea99
builds: add a build->project func to get the project via the jobset
2022-01-15 15:58:02 -05:00
Graham Christensen
f120909547
builds: drop project, jobset columns
...
Indexes were haphazardly dropped.
2022-01-15 15:58:02 -05:00
Graham Christensen
17c6bd4fd8
DeclarativeJobsets: get the jobset name from the jobset table
2022-01-15 13:46:32 -05:00
Graham Christensen
b2cdde0901
DeclarativeJobsets: test basic functionality
2022-01-15 13:46:32 -05:00
Graham Christensen
2abcd84931
Merge pull request #1115 from DeterminateSystems/project-jobset/builds-json-repr
...
Project jobset: update builds json repr
2022-01-15 12:09:45 -05:00
Graham Christensen
6bb9adc1a5
Builds: get the project and jobset names from the their tables
2022-01-14 22:45:26 -05:00
Graham Christensen
f4c4b496d8
Projects: delete: delete all builds first
...
Deleting jobsets first would fail because buildmetrics has an FK
to the jobset. However, the jobset / project relationship is not
marked as CASCADE.
Deleting all the builds automatically cascades to delete
buildmetrics, so deleting the relevant builds first, then deleting
the jobset solves it.
2022-01-14 20:37:55 -05:00
Graham Christensen
c7c4759600
search: fix references to jobset / project info
2022-01-14 16:38:25 -05:00
Graham Christensen
42a871e413
Merge pull request #1111 from DeterminateSystems/project-jobset/queue-summary-machines
...
Project jobset columns: fixup /queue-summary and /machines
2022-01-14 15:34:43 -05:00
Graham Christensen
8a663f2cf8
machines: fixup refs
2022-01-14 15:23:19 -05:00
Graham Christensen
c945529f05
queue summary: fix refs
2022-01-14 15:23:19 -05:00
Graham Christensen
a81e358016
API: test api/push-github
2022-01-14 14:57:32 -05:00
Graham Christensen
20db82b001
API test /api/push
2022-01-14 14:57:24 -05:00
Graham Christensen
fe095a56c5
API: test /nrbuilds and fix jobset / project references
2022-01-14 14:57:15 -05:00
Graham Christensen
86473f4b3c
API: fixup filtering latestbuilds by project and jobset
2022-01-14 14:57:10 -05:00
Graham Christensen
1f49a5af66
Fixup project name, jobset name, in buildToHash
2022-01-14 14:57:00 -05:00
Graham Christensen
97596c3e93
buildListColumns: remove project, jobset.
2022-01-14 12:48:48 -05:00
Graham Christensen
2803f06e6e
CatalystUtils::buildListColumns: add jobset_id
2022-01-14 11:28:39 -05:00
Graham Christensen
12ff981d24
Builds: LatestSucceeded*: remove project, jobset references
2022-01-14 11:28:39 -05:00
Graham Christensen
5c5ecdb9fc
Helper::Nix::isLocalStore: a file store is local
2022-01-14 11:28:39 -05:00
Graham Christensen
4086f3bafd
Result::Projects: give a builds method to access all of a project's builds
2022-01-14 11:28:39 -05:00
Graham Christensen
29f9e30b10
Merge pull request #1107 from DeterminateSystems/runcommand/project-jobset-name
...
RunCommand: update the source of project and jobset names
2022-01-14 09:26:07 -05:00
Graham Christensen
42edd3a9d8
hydra-notify: respond to cached_build_queued
2022-01-14 09:13:17 -05:00
Graham Christensen
6b7f1da11e
hydra-notify: operate on cached_build_finished events
2022-01-14 09:13:17 -05:00
Graham Christensen
5b35a597b4
RunCommand: update project / jobset name refs
2022-01-13 20:44:51 -05:00
Graham Christensen
f30ca3c423
showJobName: use jobset/project columns
2022-01-11 11:51:31 -05:00
Graham Christensen
ceb6ea252a
CatalystUtils.pm: don't use Hydra::Helper::Nix
...
Using it causes database information to get fixated early, before tests can set a
new database. We only used it in one case, and that is an absolute reference anyway. The
tests for channel generation are passing, and that uses
[requireLocalStore, so this should be fine.
2022-01-11 11:47:42 -05:00
Cole Helbling
9b12a88d81
BuildDiff: ensure buildstatus is defined
...
buildstatus won't be defined if e.g. a build is queued but none have
failed.
2022-01-10 12:11:06 -08:00
Cole Helbling
b98dbe01c3
BuildDiff: slight cleanup
...
Remove debugging Data::Dumper import, make comment describing function
inputs more readable.
2022-01-10 12:11:06 -08:00
Cole Helbling
ef6a2c96e7
JobsetEval: add the result of buildDiff to $c->stash
2022-01-10 12:11:06 -08:00
Cole Helbling
98375e9086
BuildDiff: bring back the sort
2022-01-10 12:11:05 -08:00
Cole Helbling
ceb81e7d78
BuildDiff: actual list reference to $builds2
2022-01-10 12:11:05 -08:00
Cole Helbling
458214381d
BuildDiff: document what the inputs mean
...
They were tripping me up, so it helped to know exactly what they were at
the ~point they're used.
2022-01-10 12:11:05 -08:00
Cole Helbling
ff12218d02
BuildDiff: cleanup imports and make slightly more readable
2022-01-10 12:11:05 -08:00
Cole Helbling
ec98bdaaaa
BuildDiff: move cmdBuilds from Controller/JobsetEval
2022-01-10 12:11:05 -08:00
Cole Helbling
0c51f3ca7d
BuildDiff: make actual hash ref
2022-01-10 12:11:05 -08:00
Cole Helbling
1349887974
BuildDiff: split out from JobsetEval GET impl
2022-01-10 12:11:05 -08:00