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