Eelco Dolstra
a7540b141d
Merge pull request #727 from NixOS/fail-unsupported
...
Abort unsupported build steps
2020-03-27 09:45:11 +01:00
Eelco Dolstra
15ae932488
Don't spam the journal with hydra-queue-runner status dumps
2020-03-26 15:30:37 +01:00
Eelco Dolstra
45ffe578b6
Keep track of the number of unsupported steps
2020-03-26 15:27:13 +01:00
Eelco Dolstra
f5cdbfe21d
Abort unsupported build steps
...
If we don't see machine that supports a build step for
'max_unsupported_time' seconds, the step is aborted. The default is 0,
which is appropriate for Hydra installations that don't provision
missing machines dynamically.
2020-03-26 15:00:04 +01:00
Eelco Dolstra
5b731004da
Remove tabs
2020-03-26 14:59:52 +01:00
Nikola Knezevic
1bee6e3d8a
Add debug logging
...
This will help us track potential problems with the plugin.
2020-03-26 13:27:44 +01:00
Nikola Knezevic
986fde8888
Refactor code
...
Extract the conditions before the loop, as they do not change due to channel
definition.
2020-03-26 13:27:44 +01:00
Nikola Knezevic
956f009672
Add documentation for SlackNotification plugin
2020-03-26 13:27:44 +01:00
Eelco Dolstra
d0688b93e1
Merge remote-tracking branch 'origin/master' into flake
2020-03-26 11:44:11 +01:00
Graham Christensen
12cc46cdb3
fixup: hydra-init: correct reference to hydra-backill-ids
2020-03-24 11:22:14 -04:00
Eelco Dolstra
c85ee736a4
Merge pull request #724 from Ma27/different-icons-for-timeout-and-loglimit
...
Use the stopsign as icon for timeouts and exceeded log-limits
2020-03-23 09:39:04 +01:00
Maximilian Bosch
73694087a0
Use the stopsign as icon for timeouts and exceeded log-limits
...
When I browse failed builds in a jobset-eval on Hydra, I regularly
mistake actual build-failures with temporary issues like timeouts (that
probably disappear at the next eval).
To prevent this kind of issue, I figured that using the stopsign-svg for
builds with timeouts or exceeded log-limits is a reasonable choice for
the following reasons:
* A user can now distinguish between actual build-errors (like
compilation-failures or oversized outputs) and (usually) temporary issues
(like a bloated log or a timeout).
* The stopsign is also used for aborted jobs that are shown in a
different tab and can't be confused with timeouts for that reason.
2020-03-21 21:08:33 +01:00
Eelco Dolstra
5ae8b54d25
README.md: Link to the latest manual
...
(cherry picked from commit 455611b0b4e97290a858687142805babc9929673)
2020-03-13 21:33:22 +01:00
Eelco Dolstra
be0ec2d223
Remove style.css
...
https://github.com/NixOS/nix/issues/3392
2020-03-13 16:17:48 +01:00
Nikola Knezevic
01ae944c80
Add host tag to InfluxDB metrics
...
This should help us discern machines in environments with multiple Hydra deployments.
2020-03-12 14:23:07 +01:00
Eelco Dolstra
101a9b3797
Run 'make check'
...
This got lost when I converted from releaseTools.nixBuild to
stdenv.mkDerivation. Doh!
2020-03-04 15:42:51 +01:00
Eelco Dolstra
4b5bb4e760
Merge remote-tracking branch 'origin/master' into flake
2020-03-04 15:28:23 +01:00
Eelco Dolstra
123bee1db5
Restore job type checking
2020-03-04 15:16:26 +01:00
Eelco Dolstra
69a6f3448a
Fix calling job functions
...
Fixes #718 .
2020-03-04 15:16:04 +01:00
Eelco Dolstra
3cc1deb125
Merge pull request #721 from grahamc/one-by-one
...
hydra-evaluator: add a 'ONE_AT_A_TIME' evaluator style
2020-03-04 08:44:43 +01:00
Eelco Dolstra
e6e4aa54c0
Merge pull request #722 from grahamc/fix-declarative-jobsets
...
Fix declarative jobsets due to `nix` command being hidden
2020-03-04 08:41:13 +01:00
Graham Christensen
994430b94b
treewide: allow nix
command
2020-03-03 22:52:20 -05:00
Graham Christensen
117b9ecef1
Nix.pm: readNixFile: pass «--experimental-features nix-command»
...
Declarative jobsets were broken by the Nix update, causing
nix cat-file to break silently.
This commit restores declarative jobsets, based on top of a commit
making it easier to see what broke.
2020-03-03 22:36:21 -05:00
Graham Christensen
113a312f67
handleDeclarativeJobsetBuild: handle errors from readNixFile
2020-03-03 22:32:13 -05:00
Graham Christensen
5fae9d96a2
hydra-evaluator: add a 'ONE_AT_A_TIME' evaluator style
...
In the past, jobsets which are automatically evaluated are evaluated
regularly, on a schedule. This schedule means a new evaluation is
created every checkInterval seconds (assuming something changed.)
This model works well for architectures where our build farm can
easily keep up with demand.
This commit adds a new type of evaluation, called ONE_AT_A_TIME, which
only schedules a new evaluation if the previous evaluation of the
jobset has no unfinished builds.
This model of evaluation lets us have 'low-tier' architectures.
For example, we could now have a jobset for ARMv7l builds, where
the buildfarm only has a single, underpowered ARMv7l builder.
Configuring that jobset as ONE_AT_A_TIME will create an evaluation
and then won't schedule another evaluation until every job of
the existing evaluation is complete.
This way, the cache will have a complete collection of pre-built
software for some commits, but the underpowered architecture will
never become backlogged in ancient revisions.
2020-03-03 19:28:44 -05:00
Graham Christensen
eaa65f51f4
hydra-evaluator: make the logic of the scheduler easier to read
2020-03-03 18:17:21 -05:00
Eelco Dolstra
eb5873ae53
Fix build
2020-02-20 11:19:45 +01:00
Eelco Dolstra
c642f787ee
hydra-eval-jobs: Parallelize
...
(cherry picked from commit be8eb9d00d
)
2020-02-20 10:28:58 +01:00
Eelco Dolstra
adf61e5cf8
Fix build
...
(cherry picked from commit 639c660abf
)
2020-02-20 10:26:45 +01:00
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
Eelco Dolstra
be8eb9d00d
hydra-eval-jobs: Parallelize
2020-02-19 21:10:22 +01:00
Eelco Dolstra
c53cfb5234
flake.lock: Update
...
Flake input changes:
* Updated 'nix': 'github:NixOS/nix/6529490cc10018d5191e50c482ac1180b96b1a3c' -> 'github:NixOS/nix/4ad5826a182f8eeb4cbc61e27d2128b08050b0d4'
2020-02-19 20:37:14 +01:00
Eelco Dolstra
6f1d68bda4
Revert "hydra-eval-jobs -> nix eval-hydra-jobs"
...
This reverts commit 345512a6d0
.
2020-02-19 20:36:52 +01:00
Eelco Dolstra
cf961ac893
Update aggregate handling
2020-02-17 16:33:25 +01:00
Eelco Dolstra
4824b0fd9b
flake.lock: Update
...
Flake input changes:
* Updated 'nix': 'github:NixOS/nix/144bb3ef7ddca6502ea3e1878f7fc0a3f9013aba' -> 'github:NixOS/nix/6529490cc10018d5191e50c482ac1180b96b1a3c'
2020-02-17 16:23:39 +01:00
Eelco Dolstra
4b9cdc4933
Remove boehmgc dependency
...
This is now propagated by Nix.
2020-02-15 21:56:35 +01:00
Eelco Dolstra
b0a5365602
flake.lock: Update
...
Flake input changes:
* Updated 'nix': 'github:NixOS/nix/eb19ff3b82240326fc0e999e09f81b6c8ed98640' -> 'github:NixOS/nix/144bb3ef7ddca6502ea3e1878f7fc0a3f9013aba'
2020-02-15 21:55:33 +01:00
Eelco Dolstra
68bdf834ee
Fix hydra-evaluator --unlock
2020-02-15 16:40:16 +01:00
Eelco Dolstra
345512a6d0
hydra-eval-jobs -> nix eval-hydra-jobs
2020-02-15 15:59:34 +01:00
Eelco Dolstra
23c9ca3e94
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.
2020-02-15 15:59:34 +01:00
Eelco Dolstra
639c660abf
Fix build
2020-02-15 14:54:35 +01:00
Eelco Dolstra
93ed7f81cb
flake.lock: Update
...
Flake input changes:
* Updated 'nix': 'github:NixOS/nix/d2032edb2f86e955a8a7724a27c0c3225f386500' -> 'github:NixOS/nix/eb19ff3b82240326fc0e999e09f81b6c8ed98640'
2020-02-14 23:26:56 +01:00
Graham Christensen
ae1b9face3
Merge remote-tracking branch 'origin/master' into flake
2020-02-11 12:52:46 -05: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
53896ff19b
Merge remote-tracking branch 'origin/master' into flake
2020-02-11 08:36:40 -05:00
Graham Christensen
834793468f
fixup: d'oh, make the migrations from #710 part-2 sequential
2020-02-11 08:36:14 -05:00