Eelco Dolstra
5308e514ad
Fix nlohmann_json dependency
2020-02-20 10:26:18 +01:00
Eelco Dolstra
e4f5156c41
Build against nix-master
...
(cherry picked from commit e7f2139e25
)
2020-02-20 10:24:04 +01:00
Eelco Dolstra
b790a00729
Disable deprecation warnings
...
(cherry picked from commit 950e8bef6c
)
2020-02-20 10:22:21 +01:00
Eelco Dolstra
2a50daa377
Update aggregate handling
...
(cherry picked from commit cf961ac893
)
2020-02-20 10:13:39 +01:00
Eelco Dolstra
15187b059b
Remove hydra-eval-guile-jobs
...
This hasn't been used in a long time (Guix uses its own CI system),
and it probably doesn't work anymore.
(cherry picked from commit 23c9ca3e94
)
2020-02-20 09:58:12 +01:00
Graham Christensen
027668f0db
hydra.sql: add an index for slow queries in production
...
These queries used to use (jobset, project) based indexes,
and the addition of jobset_id makes most of those indexes
unusable now.
2020-02-11 12:52:28 -05:00
Graham Christensen
834793468f
fixup: d'oh, make the migrations from #710 part-2 sequential
2020-02-11 08:36:14 -05:00
Eelco Dolstra
0dbf0a361e
Merge pull request #714 from grahamc/jobset-id-pgsql-part-2
...
Jobset id pgsql part 2
2020-02-11 13:51:17 +01:00
Graham Christensen
2637a7ad76
Builds: index literally what latest-finished queries
2020-02-11 07:06:21 -05:00
Graham Christensen
f0f41eaaff
LatestSucceededForJob{,set}: Filter with jobset_id
2020-02-11 07:06:20 -05:00
Graham Christensen
66fbbd9692
Jobs.builds: Fetch via Jobs.jobset_id
2020-02-11 07:06:20 -05:00
Graham Christensen
7c71f9df28
Jobsets.builds: Fetch via Jobsets.id
2020-02-11 07:06:20 -05:00
Graham Christensen
3c392b8cd8
Jobsets.jobs: Fetch via Jobsets.id
2020-02-11 07:06:20 -05:00
Graham Christensen
8ef08f1385
Builds.jobset_id: make not-null
2020-02-11 07:06:20 -05:00
Graham Christensen
2cdcc7f188
Jobs.jobset_id: make not-null
2020-02-11 07:06:17 -05:00
Graham Christensen
add4f610ce
Merge pull request #711 from grahamc/jobset-id-pgsql-part-1
...
jobset_id, #710 Part 1
2020-02-10 11:43:38 -05:00
Graham Christensen
c4cc72f944
hydra-init: Warn about the schema version migration
2020-02-10 11:43:03 -05:00
Graham Christensen
f69260118b
hydra-backfill-ids: create to add jobset_id values to Builds and Jobs
...
Vacuum every 10 iterations, update 10k at a time.
2020-02-10 11:43:03 -05:00
Graham Christensen
f3a561aecd
Builds: populate Builds.jobset_id in hydra-eval-jobset
2020-02-10 11:43:02 -05:00
Graham Christensen
ddf00fa627
Builds: add a nullable jobset_id foreign key to Jobsets.
...
Also, adds an explicitly named "builds" accessor to the Jobsets
Schema object, which uses the project/jobset name.
2020-02-10 11:43:02 -05:00
Graham Christensen
624f1d8d2d
Jobs: populate Jobs.jobset_id field when writing from hydra-eval-jobset
2020-02-10 11:43:02 -05:00
Graham Christensen
efa1f1d4fb
Jobs: add a nullable jobset_id foreign key to Jobsets.
...
Also, adds an explicitly named "jobs" accessor to the Jobsets
Schema object, which uses the project/jobset name.
2020-02-10 11:43:02 -05:00
Graham Christensen
e00030563b
Jobsets: add a SERIAL, unique, non-null id column
...
A postgresql column which is non-null and unique is treated with
the same optimisations as a primary key, so we have no need to
try and recreate the `id` as the primary key.
No read paths are impacted by this change, and the database will
automatically create an ID for each insert. Thus, no code needs to
change.
2020-02-10 11:42:59 -05:00
Eelco Dolstra
4a05bb36ac
Merge pull request #713 from grahamc/backport-flake-migration
...
Copy the flake migration from the flake branch
2020-02-10 17:41:46 +01:00
Graham Christensen
6fe57ab5fa
Copy the flake migration from the flake branch
...
hydra.nixos.org is already running this rev, and it should be safe to
apply to everyone else. If we make changes to this migration, we'll
need to write another migration anyway.
2020-02-09 15:21:28 -05:00
Eelco Dolstra
2b4f14963b
Merge pull request #709 from grahamc/generate-from-postgresql
...
sql: Generate models from postgresql
2020-02-06 20:18:31 +01:00
Graham Christensen
c2f932a7e3
sql: Generate models from postgresql
...
Lowercasing is due to postgresql not having case-sensitive table names.
It always technically workde before, but those table names never
existed literally.
The switch to generating from postgresql is to handle an upcoming
addition of an auto-incrementign ID to the Jobset table. Sqlite doesn't
seem to be able to handle the table having an auto incrementing ID
field which isn't the primary key, but we can't change the primary
key trivially.
Since hydra doesn't support sqlite and hasn't for many year anyway,
it is easier to just generate from pgsql directly.
2020-02-06 12:23:47 -05:00
Eelco Dolstra
9da60e3c66
Merge pull request #708 from basvandijk/remove-logdiff-button
...
Remove the "log diff" buttons
2020-01-27 14:36:56 +01:00
Bas van Dijk
5fab5e935b
Remove the "log diff" buttons
...
because they're referencing the removed `logdiff` API.
This API was removed in 4d1816b152
.
Fixes #409
2020-01-26 21:45:38 +01:00
Eelco Dolstra
5c0c7d52a0
Merge pull request #700 from hamishmack/master
...
Fixes for macOS
2020-01-07 11:38:34 +01:00
Hamish Mackenzie
c40c887e50
Fixes for macOS
...
Building on macOS with the latest nixpkgs master and NixOS/nixpkgs#77147
fails. It seems some `std::experimental` (optional) for instance are
not available as `experimental`, but are in `std`. Also `toJSON` is
missing for `atomic< unsigned long long >`.
2020-01-07 12:38:06 +13:00
Graham Christensen
d0f1bda0b8
job prometheus endpoint: drop nixname, too variable
2019-12-29 16:37:13 -05:00
Graham Christensen
64cdc3413c
job prometheus endpoint: d'oh
2019-12-28 20:57:27 -05:00
Graham Christensen
f8875f2d68
Merge pull request #699 from grahamc/job-prom
...
job: create a prometheus endpoint
2019-12-28 20:22:24 -05:00
Graham Christensen
d5445bfc1d
job: create a prometheus endpoint
...
Export the most recent stop time and exit status in
a prometheus-friendly format.
2019-12-28 16:41:49 -05:00
Eelco Dolstra
20dd0bbe6a
Merge pull request #691 from knl/fix-missing-notification-stats
...
hydra-send-stats: Cleanup removed metrics
2019-11-13 11:49:32 +01:00
Nikola Knezevic
06abfd6b2f
hydra-send-stats: Cleanup removed metrics
...
In 2946899504
these metrics got removed
due to refactoring of how notifications work.
2019-11-13 11:42:58 +01:00
Graham Christensen
e89ea733d0
Merge pull request #687 from andir/more-roles
...
Add `cancel-build` & `bump-to-front` roles
2019-11-07 17:52:58 +01:00
Andreas Rammhold
841a47cabe
Add cancel-build role
2019-11-05 22:56:01 +01:00
Andreas Rammhold
ce1e10c116
Add bump-to-front role
2019-11-05 19:32:06 +01:00
Eelco Dolstra
45f8a0ef66
Merge pull request #686 from basvandijk/remove-unused-firstOutput
...
hydra-eval-jobset: $firstOutput is not used so can be removed
2019-11-05 14:09:54 +01:00
Bas van Dijk
840e99f859
hydra-eval-jobset: $firstOutput is not used so can be removed
2019-11-05 13:58:40 +01:00
Eelco Dolstra
037f6488f6
Merge pull request #680 from grahamc/prometheus
...
export a /prometheus endpoint
2019-09-25 19:46:42 +02:00
Eelco Dolstra
d4b4255dd2
hydra-queue-runner: Support running in a NixOS container
...
In a NixOS container, cmdBuildDerivation doesn't work because we're
not privileged. But we also don't need it because the store already
has the derivation.
Also, don't copy from/to the store since this gives errors about
missing signatures.
2019-09-25 17:26:03 +02:00
Eelco Dolstra
554bb7d9ce
hydra-queue-runner: Don't pass IN_SYSTEMD to child processes
...
This caused local builds to have journal priority prefixes
(e.g. '<3>').
2019-09-25 17:25:07 +02:00
Graham Christensen
3a04f28459
hydra: upgrade nixpkgs to 19.09
2019-09-24 16:51:18 -04:00
Graham Christensen
937e165328
export a /prometheus endpoint
...
Currently only shows per-machine build times
2019-09-24 16:50:52 -04:00
Eelco Dolstra
4223202c99
Merge pull request #432 from LumiGuide/better-buildMachinesFiles-default
...
Only set buildMachinesFiles when nix.buildMachines is defined
2019-09-24 19:00:32 +02:00
Eelco Dolstra
242b8b7a31
Merge pull request #676 from knl/fix-term-size-any-log-message
...
Add Term::Size::Any
2019-08-30 14:17:12 +02:00
Nikola Knezevic
a9d744d2a3
Add Term::Size::Any
...
This removes a supper annoying set of messages that polute the logs:
Aug 30 09:00:30 xxx.compute.internal hydra-server[957]: Trouble trying to detect your terminal size, looking at $ENV{COLUMNS}
Aug 30 09:00:30 xxx.compute.internal hydra-server[957]: Term::Size::Any is not installed, can't autodetect terminal column width
2019-08-30 11:58:24 +02:00