hydra-evaluator: Don't require $HYDRA_CONFIG

[?]
Jan 22, 2013, 12:19 PM
WQXF2T3DFC2K72OVX46TUQ4IMZNJ5BSBQ7L7AVI7QL54DXCBEKLQC

Dependencies

  • [2] 7ZYBTNJJ revert unmeant previous change which caused errors to stay, even after successful evaluation of jobs
  • [3] AJKTRRDJ rename var
  • [4] A32UT34U hydra_build.pl: Honor `$build->timeout'.
  • [5] TJK27WSB Open the DB using Hydra::Model::DB->new
  • [6] G2T4WAHI Store the inputs of each evaluation in the database
  • [7] 57Y7RG2A Update queryPathInfo calls
  • [8] 4R7OGJEY Do not send emails when build is cancelled/aborted. Also, ignore aborted/cancelled builds in comparing to previous build.
  • [9] QMW24O5S Add support for Guile & Guix.
  • [10] NI5BVF2V * In job inputs of type "build", allow the project and jobset names of
  • [11] 6KCP6ODP * Get the URI for use in notification mails from the Hydra config
  • [12] XZ7ZIKCV * Allow overriding the sender email address.
  • [13] 3XTHEUMP * Implemented the clone feature.
  • [14] VPKMUFF3 hydra-build: only send email if the status differs from the previous build
  • [15] DDMYFZ5X Fix the jobset unchanged check
  • [16] RFE6T5LG * Store jobset evaluations in the database explicitly. This includes
  • [17] AFTXA575 * $HYDRA_DATA environment variable.
  • [18] GAIBDEZZ * Store the name of the machine that performed a build step in the
  • [19] ZDENAYQI * email notification of evaluation errors to project owner (if desired)
  • [20] MOX7XJ2E Merge the BuildSchedulingInfo table into the Builds table
  • [21] BD3GRK4B * Get rid of "positive failures" and separate log phases.
  • [22] NLJJZVHO * Use ->update({...}) properly.
  • [23] SHZLOM5M * eval-jobs -> hydra_eval_jobs.
  • [24] RXVJFQ5A Evaluator cleanups
  • [25] 4IXVBLUI hack to try and prevent too many newlines
  • [26] ZTQEU5QS Hydra: Add support for maxSilent meta attribute (also already added timeout, but not implemented the actual timeout for the build yet)
  • [27] P5XCKTFD Fix sysbuild input type handling
  • [28] VJP6O6WA * Doh. Remove debug statement.
  • [29] 2IEFMER5 * Add --fallback to prevent problems with obsolete substitutes.
  • [30] D3DIBMOK * For products that are directories (like manuals), allow a default
  • [31] UMOJJ6DV time out to 3600 for now
  • [32] FYO6NECE hydra
  • [33] D7NXMCON * Doh.
  • [34] RBGYFVWX use HYDRA_DATA/hydra.conf as default location for hydra.conf
  • [35] 7ZHHVD6Q * Inputs of type "build" must now be declared explicitly.
  • [36] YFPZ46YK * hydra: added variant of build input type, 'build output (same system)' to allow better continous integration in one jobset for multiple system. it makes sure that the system of the build that is passed as input for a job has the same system as the job.
  • [37] W3HI52QV use NIX_*_DIR env vars when defined
  • [38] CLJQCY2X * Store info about all the build actions and allow them to be
  • [39] FHF6IZJQ * Basic release management: releases are now dynamically computed as
  • [40] L2E6EVE2 * Merged the Build and Job tables.
  • [41] BDSD2JLV * Speed up manifest generation.
  • [42] TIOBBINA * Some renaming.
  • [43] A63IHCMX * Register GC roots properly.
  • [44] FHAVPTZ6 Hydra/23: added some X-headers with meta info in email notifications, added more descriptive status
  • [45] KA45EBF5 * Send email if a build fails.
  • [46] FR7XCVLK
  • [47] 5SHCWE7X * Prevent repeated evaluation of a jobset with the same inputs. This
  • [48] 7YBYT2LQ
  • [49] 3ZCEPLNO
  • [50] FDE3BJAP * Refactoring.
  • [51] S3ZLZP3N * Cut off builds after half an hour of apparent inactivity. This
  • [52] 3BKF6P72 * Use Nix's negative caching.
  • [53] 64K7R4Y6 Forgot to change Nix to Nix::Store in one place
  • [54] RBHHV7P7 * Read logs using logContents function in stead of handling it everywhere separately.
  • [55] 7DWCXNC7 Use the new Nix Perl bindings
  • [56] AS5PAYLI
  • [57] IXCUNELF * Don't bother with the Jobs.active column anymore.
  • [58] ALXRI3Y5 hydra: removed need for HYDRA_BUILD_BASEURL env variable
  • [59] LZO3C2KI * Hack around those SQLite timeouts: just retry the transaction.
  • [60] X27GNHDV * Basic job info in the database.
  • [61] IN272KZW * Automatically keep all builds in the latest successful release in
  • [62] 6US6LEC7 * Add a NarSize field to Hydra manifests. This allows nix-env
  • [63] S5PV6IIM * Represent jobs explicitly in the DB.
  • [64] AMFMXR52 Provide a command ‘hydra-init’ to initialise/upgrade the database
  • [65] N22GPKYT * Put info about logs / build products in the DB.
  • [66] IWHFLFVV * Randomly permute the order in which builds are added. This is
  • [67] HPEG2RHV Merge the BuildResultInfo table into the Builds table
  • [68] POPU2ATH * hydra_scheduler: use eval-jobs.
  • [69] QUTWJR7P * Include more info in notification emails.
  • [70] TULPZ62Y * Perform builds in parallel.
  • [71] H7CNGK4O * Log evaluation errors etc. in the DB.
  • [72] S6OISBQ3 * Mark the "current" builds in a jobset, i.e. those corresponding to
  • [73] CXRCPDSQ * added support for twitter notification
  • [74] OOQ2D3KC * Refactoring: move fetchInput out of hydra_scheduler into a separate
  • [75] OG7BEM57
  • [*] 2GK5DOU7 * Downloading closures.

Change contents

  • replacement in src/lib/Hydra/Helper/Nix.pm at line 12
    [10.619][5.100:137]()
    getHydraHome getHydraConf txn_do
    [10.619]
    [10.665]
    getHydraHome getHydraConfig txn_do
  • replacement in src/lib/Hydra/Helper/Nix.pm at line 26
    [10.2636][10.145:164](),[10.145][10.145:164]()
    sub getHydraConf {
    [10.2636]
    [5.138]
    sub getHydraConfig {
  • replacement in src/lib/Hydra/Helper/Nix.pm at line 28
    [5.227][10.631:706](),[10.631][10.631:706](),[10.706][10.306:324](),[10.306][10.306:324]()
    die "The HYDRA_CONFIG file ($conf) does not exist!\n" unless -f $conf;
    return $conf;
    [5.227]
    [10.520]
    return {} unless -f $conf;
    my %config = new Config::General($conf)->getall;
    return \%config;
  • edit in src/script/hydra-build at line 27
    [10.23]
    [10.23]
    my $config = getHydraConfig();
  • edit in src/script/hydra-build at line 29
    [10.24][10.325:381]()
    my %config = new Config::General(getHydraConf)->getall;
  • replacement in src/script/hydra-build at line 35
    [10.193][10.0:46]()
    my $addURL = defined $config{'base_uri'};
    [10.193]
    [10.247]
    my $addURL = defined $config->{'base_uri'};
  • replacement in src/script/hydra-build at line 41
    [10.819][10.47:104](),[10.9718][10.47:104](),[10.559][10.47:104]()
    my $url = $config{'base_uri'}."/build/".$build->id ;
    [10.819]
    [10.400]
    my $url = $config->{'base_uri'}."/build/".$build->id ;
  • replacement in src/script/hydra-build at line 86
    [10.3863][10.3863:3899]()
    { project => $build->project->name
    [10.3863]
    [10.3899]
    { project => $build->project->name
  • replacement in src/script/hydra-build at line 93
    [8.54][10.36:68](),[10.36][10.36:68]()
    }, { order_by => ["id DESC"] }
    [8.54]
    [10.4113]
    }, { order_by => ["id DESC"] }
  • replacement in src/script/hydra-build at line 115
    [3.34][10.0:51](),[10.465][10.0:51](),[10.662][10.0:51]()
    my $sender = $config{'notification_sender'} ||
    [3.34]
    [3.35]
    my $sender = $config->{'notification_sender'} ||
  • replacement in src/script/hydra-build at line 118
    [10.3076][10.87:153]()
    my $selfURI = $config{'base_uri'} || "http://localhost:3000";
    [10.3076]
    [10.131]
    my $selfURI = $config->{'base_uri'} || "http://localhost:3000";
  • replacement in src/script/hydra-build at line 238
    [10.5001][4.0:62]()
    # Note: `--timeout' was added in Nix 1.0pre27564, June 2011.
    [10.5001]
    [10.0]
    # Note: `--timeout' was added in Nix 1.0pre27564, June 2011.
  • replacement in src/script/hydra-build at line 240
    [10.52][4.63:92]()
    "--timeout $timeout " .
    [10.52]
    [10.1198]
    "--timeout $timeout " .
  • replacement in src/script/hydra-build at line 262
    [10.5462][10.0:24]()
    my $drvPathStep = $1;
    [10.5462]
    [10.940]
    my $drvPathStep = $1;
  • replacement in src/script/hydra-build at line 279
    [10.906][10.906:926]()
    my $machine = $2;
    [10.906]
    [10.926]
    my $machine = $2;
  • replacement in src/script/hydra-build at line 284
    [10.1141][10.1141:1148]()
    }
    [10.1141]
    [10.1095]
    }
  • replacement in src/script/hydra-build at line 392
    [10.621][7.250:327](),[7.327][10.1143:1175](),[10.229][10.1143:1175]()
    my ($deriver, $hash, $time, $narSize, $refs) = queryPathInfo($path, 0);
    $closuresize += $narSize;
    [10.621]
    [10.736]
    my ($deriver, $hash, $time, $narSize, $refs) = queryPathInfo($path, 0);
    $closuresize += $narSize;
  • replacement in src/script/hydra-build at line 449
    [10.8046][10.8026:8088](),[10.8026][10.8026:8088](),[10.8088][10.10892:10951]()
    die "build $buildId doesn't exist" unless defined $build;
    die "build $buildId already done" if $build->finished;
    [10.8046]
    [10.6555]
    die "build $buildId doesn't exist\n" unless defined $build;
    die "build $buildId already done\n" if $build->finished;
  • replacement in src/script/hydra-evaluator at line 21
    [5.745][10.382:438](),[10.1793][10.382:438]()
    my %config = new Config::General(getHydraConf)->getall;
    [5.745]
    [10.5400]
    my $config = getHydraConfig();
  • replacement in src/script/hydra-evaluator at line 28
    [10.646][10.932:1134]()
    my @info = fetchInput($db, $project, $jobset, $input->name, $input->type, $alt->value);
    foreach my $info_el (@info) {
    push @{$$inputInfo{$input->name}}, $info_el if defined $info_el;
    }
    [10.646]
    [10.722]
    my @info = fetchInput($db, $project, $jobset, $input->name, $input->type, $alt->value);
    foreach my $info_el (@info) {
    push @{$$inputInfo{$input->name}}, $info_el if defined $info_el;
    }
  • replacement in src/script/hydra-evaluator at line 44
    [10.3184][10.485:539]()
    sendJobsetErrorNotification($jobset, $errorMsg);
    [10.3184]
    [10.3184]
    sendJobsetErrorNotification($jobset, $errorMsg);
  • replacement in src/script/hydra-evaluator at line 52
    [10.670][2.66:98]()
    return if $errorMsg eq "";
    [10.670]
    [10.1179]
    return if $errorMsg eq "";
  • replacement in src/script/hydra-evaluator at line 58
    [10.1181][10.754:805]()
    my $sender = $config{'notification_sender'} ||
    [10.1181]
    [10.1040]
    my $sender = $config->{'notification_sender'} ||
  • replacement in src/script/hydra-evaluator at line 79
    [10.1225][10.1225:1237]()
    ],
    [10.1225]
    [10.51]
    ],
  • replacement in src/script/hydra-evaluator at line 93
    [10.114][10.114:166]()
    my $k = int(rand($n + 1)); # 0 <= $k <= $n
    [10.114]
    [10.166]
    my $k = int(rand($n + 1)); # 0 <= $k <= $n
  • replacement in src/script/hydra-evaluator at line 104
    [9.11455][10.2021:2026](),[10.3692][10.2021:2026]()
    [9.11455]
    [10.2113]
  • replacement in src/script/hydra-evaluator at line 123
    [10.2565][10.2565:2570]()
    [10.2565]
    [10.2191]
  • replacement in src/script/hydra-evaluator at line 132
    [10.1623][10.5269:5278]()
    [10.1623]
    [10.394]
  • replacement in src/script/hydra-evaluator at line 154
    [10.2033][10.2033:2042]()
    [10.2033]
    [10.2516]
  • replacement in src/script/hydra-evaluator at line 176
    [6.3185][6.3185:3198]()
    [6.3185]
    [6.3198]
  • replacement in src/script/hydra-evaluator at line 193
    [10.6534][6.3961:3973]()
    [10.6534]
    [10.455]
  • replacement in src/script/hydra-evaluator at line 201
    [10.5858][10.5858:5866]()
    [10.5858]
    [10.2775]
  • replacement in src/script/hydra-evaluator at line 224
    [10.2101][10.2101:2106]()
    [10.2101]
    [10.2841]
  • replacement in src/script/hydra-evaluator at line 226
    [10.2923][10.2184:2189](),[10.2184][10.2184:2189]()
    [10.2923]
    [10.2189]
  • replacement in src/script/hydra-evaluator at line 230
    [10.2247][10.2247:2252]()
    [10.2247]
    [10.2252]