incrementally ingest eval results nix-eval-jobs streams output, unlike hydra-eval-jobs. Now that we've migrated, we can use this to: 1. Use less RAM by avoiding buffering a whole eval's worth of metadata into a Perl string and an array of JSON objects. 2. Make evals latency a bit lower by allowing the queue runner to start ingesting builds faster. Also use the newly-restored constituents support in `nix-eval-jobs` Note, we pass --workers and --max-memory-size to n-e-j Lost in the h-e-j -> n-e-j migration, causing evaluation to always be single threaded and limited to 4GiB RAM. Follow the config settings like h-e-j used to do (via C++ code). `nix-eval-jobs` should check `hydraJobs` and then `checks` with flakes (cherry picked from commit 6d4ccff43c41adaf6e4b2b9bced7243bc2f6e97b) (cherry picked from commit b0e9b4b2f99f9d8f5c4e780e89f955c394b5ced4) (cherry picked from commit cdfc5c81e8037d3e4818a3e459d0804b2c157ea9) (cherry picked from commit 4b107e6ff36bd89958fba36e0fe0340903e7cd13) Co-Authored-By: Maximilian Bosch <maximilian@mbosch.me>
23 lines
697 B
Perl
23 lines
697 B
Perl
use feature 'unicode_strings';
|
|
use strict;
|
|
use warnings;
|
|
use Setup;
|
|
use Test2::V0;
|
|
|
|
my $ctx = test_context();
|
|
|
|
my $builds = $ctx->makeAndEvaluateJobset(
|
|
expression => "meta.nix",
|
|
build => 1
|
|
);
|
|
|
|
my $build = $builds->{"full-of-meta"};
|
|
|
|
is($build->finished, 1, "Build should be finished.");
|
|
is($build->description, "This is the description of the job.", "Wrong description extracted from the build.");
|
|
is($build->license, "MIT, BSD", "Wrong licenses extracted from the build.");
|
|
is($build->homepage, "https://example.com/", "Wrong homepage extracted from the build.");
|
|
is($build->maintainers, 'alice@example.com, bob@not.found', "Wrong maintainers extracted from the build.");
|
|
|
|
done_testing;
|