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
2017-07-26 16:56:16 +01:00
2019-08-09 13:49:21 +10:00
2020-02-20 09:58:12 +01:00
2011-01-14 10:52:47 +00:00
2020-02-20 09:58:12 +01:00
2010-03-29 14:16:46 +00:00
2010-09-30 14:29:15 +00:00
2017-09-30 22:39:36 +01:00
2020-02-20 11:19:45 +01:00
2016-03-22 13:10:37 +01:00

Hydra

Hydra is a continuous integration system based on the Nix package manager. For more information, see the manual.

For development see hacking instructions.


Icons provided free by EmojiOne.

Description
Hydra, the Nix-based continuous build system
Readme 20 MiB
Languages
Perl 71%
C++ 15.5%
Nix 5.6%
PLpgSQL 3%
Shell 2.2%
Other 2.7%