* Clean up indentation.

[?]
Mar 5, 2010, 4:16 PM
KQS7DSKJHTEHALCPTXMWRX2IBOVC5BWU7RWJ4GP5A2JJSBR7HPKAC

Dependencies

  • [2] WWUOQ7V4 * hydra: indentation and fixed duplicate key in cachedgitinputs bug
  • [3] RFE6T5LG * Store jobset evaluations in the database explicitly. This includes
  • [4] OOQ2D3KC * Refactoring: move fetchInput out of hydra_scheduler into a separate
  • [5] 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.
  • [6] JTRG7RDQ add support for git as jobinput
  • [7] 3XTHEUMP * Implemented the clone feature.
  • [8] BK24VA6Q * for git inputs, check latest revision of branch (defaults to master for now), if there is change, only use input if last checkout was > hour ago.
  • [9] ENYUXIFP support git branches as input in stead of only master branch

Change contents

  • edit in src/lib/Hydra/Helper/AddBuilds.pm at line 65
    [4.4415]
    [4.4416]
  • replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 70
    [4.4522][4.4522:4548]()
    my $uri = $value;
    [4.4495]
    [4.4548]
    my $uri = $value;
  • replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 72
    [4.4549][4.4549:4622]()
    my $timestamp = time;
    my $sha256;
    my $storePath;
    [4.4549]
    [4.4622]
    my $timestamp = time;
    my $sha256;
    my $storePath;
  • replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 76
    [4.4623][4.4623:4777](),[4.4777][3.573:640](),[3.640][4.4844:4899](),[4.4844][4.4844:4899]()
    # Some simple caching: don't check a path more than once every N seconds.
    (my $cachedInput) = $db->resultset('CachedPathInputs')->search(
    {srcpath => $uri, lastseen => {">", $timestamp - 30}},
    {rows => 1, order_by => "lastseen DESC"});
    [4.4623]
    [4.4899]
    # Some simple caching: don't check a path more than once every N seconds.
    (my $cachedInput) = $db->resultset('CachedPathInputs')->search(
    {srcpath => $uri, lastseen => {">", $timestamp - 30}},
    {rows => 1, order_by => "lastseen DESC"});
  • replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 81
    [4.4900][4.4900:5141]()
    if (defined $cachedInput && isValidPath($cachedInput->storepath)) {
    $storePath = $cachedInput->storepath;
    $sha256 = $cachedInput->sha256hash;
    $timestamp = $cachedInput->timestamp;
    } else {
    [4.4900]
    [4.5141]
    if (defined $cachedInput && isValidPath($cachedInput->storepath)) {
    $storePath = $cachedInput->storepath;
    $sha256 = $cachedInput->sha256hash;
    $timestamp = $cachedInput->timestamp;
    } else {
  • replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 87
    [4.5142][4.5142:5356]()
    print STDERR "copying input ", $name, " from $uri\n";
    $storePath = `nix-store --add "$uri"`
    or die "Cannot copy path $uri to the Nix store.\n";
    chomp $storePath;
    [4.5142]
    [4.5356]
    print STDERR "copying input ", $name, " from $uri\n";
    $storePath = `nix-store --add "$uri"`
    or die "Cannot copy path $uri to the Nix store.\n";
    chomp $storePath;
  • replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 92
    [4.5357][4.5357:5408]()
    $sha256 = getStorePathHash $storePath;
    [4.5357]
    [4.5408]
    $sha256 = getStorePathHash $storePath;
  • replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 94
    [4.5409][4.5409:5541]()
    ($cachedInput) = $db->resultset('CachedPathInputs')->search(
    {srcpath => $uri, sha256hash => $sha256});
    [4.5409]
    [4.5541]
    ($cachedInput) = $db->resultset('CachedPathInputs')->search(
    {srcpath => $uri, sha256hash => $sha256});
  • replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 97
    [4.5542][4.5542:6323]()
    # Path inputs don't have a natural notion of a "revision",
    # so we simulate it by using the timestamp that we first
    # saw this path have this SHA-256 hash. So if the
    # contents of the path changes, we get a new "revision",
    # but if it doesn't change (or changes back), we don't get
    # a new "revision".
    if (!defined $cachedInput) {
    txn_do($db, sub {
    $db->resultset('CachedPathInputs')->create(
    { srcpath => $uri
    , timestamp => $timestamp
    , lastseen => $timestamp
    , sha256hash => $sha256
    , storepath => $storePath
    });
    [4.5542]
    [4.6323]
    # Path inputs don't have a natural notion of a "revision", so
    # we simulate it by using the timestamp that we first saw this
    # path have this SHA-256 hash. So if the contents of the path
    # changes, we get a new "revision", but if it doesn't change
    # (or changes back), we don't get a new "revision".
    if (!defined $cachedInput) {
    txn_do($db, sub {
    $db->resultset('CachedPathInputs')->create(
    { srcpath => $uri
    , timestamp => $timestamp
    , lastseen => $timestamp
    , sha256hash => $sha256
    , storepath => $storePath
    });
  • replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 112
    [4.6343][4.6343:6548]()
    } else {
    $timestamp = $cachedInput->timestamp;
    txn_do($db, sub {
    $cachedInput->update({lastseen => time});
    });
    }
    [4.6343]
    [4.6548]
    } else {
    $timestamp = $cachedInput->timestamp;
    txn_do($db, sub {
    $cachedInput->update({lastseen => time});
    });
  • edit in src/lib/Hydra/Helper/AddBuilds.pm at line 118
    [4.6558]
    [4.6558]
    }
  • replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 120
    [4.6559][4.6559:6787]()
    return
    { type => $type
    , uri => $uri
    , storePath => $storePath
    , sha256hash => $sha256
    , revision => strftime "%Y%m%d%H%M%S", gmtime($timestamp)
    };
    [4.6559]
    [4.178]
    return
    { type => $type
    , uri => $uri
    , storePath => $storePath
    , sha256hash => $sha256
    , revision => strftime "%Y%m%d%H%M%S", gmtime($timestamp)
    };
  • edit in src/lib/Hydra/Helper/AddBuilds.pm at line 129
    [4.181]
    [4.181]
  • replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 133
    [4.6823][4.6823:6849]()
    my $uri = $value;
    [4.6794]
    [4.6849]
    my $uri = $value;
  • replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 135
    [4.6850][4.6850:6893]()
    my $sha256;
    my $storePath;
    [4.6850]
    [4.6893]
    my $sha256;
    my $storePath;
  • replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 138
    [4.6894][4.6894:7351]()
    # First figure out the last-modified revision of the URI.
    my @cmd = (["svn", "ls", "-v", "--depth", "empty", $uri],
    "|", ["sed", 's/^ *\([0-9]*\).*/\1/']);
    my $stdout; my $stderr;
    die "Cannot get head revision of Subversion repository at `$uri':\n$stderr"
    unless IPC::Run::run(@cmd, \$stdout, \$stderr);
    my $revision = $stdout; chomp $revision;
    die unless $revision =~ /^\d+$/;
    [4.6894]
    [4.7351]
    # First figure out the last-modified revision of the URI.
    my @cmd = (["svn", "ls", "-v", "--depth", "empty", $uri],
    "|", ["sed", 's/^ *\([0-9]*\).*/\1/']);
    my $stdout; my $stderr;
    die "Cannot get head revision of Subversion repository at `$uri':\n$stderr"
    unless IPC::Run::run(@cmd, \$stdout, \$stderr);
    my $revision = $stdout; chomp $revision;
    die unless $revision =~ /^\d+$/;
  • replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 147
    [4.7352][4.7352:7481]()
    (my $cachedInput) = $db->resultset('CachedSubversionInputs')->search(
    {uri => $uri, revision => $revision});
    [4.7352]
    [4.7481]
    (my $cachedInput) = $db->resultset('CachedSubversionInputs')->search(
    {uri => $uri, revision => $revision});
  • replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 150
    [4.7482][4.7482:7673]()
    if (defined $cachedInput && isValidPath($cachedInput->storepath)) {
    $storePath = $cachedInput->storepath;
    $sha256 = $cachedInput->sha256hash;
    } else {
    [4.7482]
    [4.7673]
    if (defined $cachedInput && isValidPath($cachedInput->storepath)) {
    $storePath = $cachedInput->storepath;
    $sha256 = $cachedInput->sha256hash;
    } else {
  • replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 155
    [4.7686][4.7686:8133]()
    # Then download this revision into the store.
    print STDERR "checking out Subversion input ", $name, " from $uri revision $revision\n";
    $ENV{"NIX_HASH_ALGO"} = "sha256";
    $ENV{"PRINT_PATH"} = "1";
    (my $res, $stdout, $stderr) = captureStdoutStderr(
    "nix-prefetch-svn", $uri, $revision);
    die "Cannot check out Subversion repository `$uri':\n$stderr" unless $res;
    [4.7686]
    [4.8133]
    # Then download this revision into the store.
    print STDERR "checking out Subversion input ", $name, " from $uri revision $revision\n";
    $ENV{"NIX_HASH_ALGO"} = "sha256";
    $ENV{"PRINT_PATH"} = "1";
    (my $res, $stdout, $stderr) = captureStdoutStderr(
    "nix-prefetch-svn", $uri, $revision);
    die "Cannot check out Subversion repository `$uri':\n$stderr" unless $res;
  • replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 163
    [4.8134][4.8134:8190]()
    ($sha256, $storePath) = split ' ', $stdout;
    [4.8134]
    [4.8190]
    ($sha256, $storePath) = split ' ', $stdout;
  • replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 165
    [4.8191][4.8191:8479]()
    txn_do($db, sub {
    $db->resultset('CachedSubversionInputs')->create(
    { uri => $uri
    , revision => $revision
    , sha256hash => $sha256
    , storepath => $storePath
    });
    [4.8191]
    [4.8479]
    txn_do($db, sub {
    $db->resultset('CachedSubversionInputs')->create(
    { uri => $uri
    , revision => $revision
    , sha256hash => $sha256
    , storepath => $storePath
    });
  • replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 173
    [4.8495][4.8495:8505]()
    }
    [4.8495]
    [4.8505]
    }
  • replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 175
    [4.8506][4.8506:8701]()
    return
    { type => $type
    , uri => $uri
    , storePath => $storePath
    , sha256hash => $sha256
    , revision => $revision
    };
    [4.8506]
    [4.262]
    return
    { type => $type
    , uri => $uri
    , storePath => $storePath
    , sha256hash => $sha256
    , revision => $revision
    };
  • edit in src/lib/Hydra/Helper/AddBuilds.pm at line 184
    [4.265]
    [4.265]
  • replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 188
    [4.8739][4.8739:8900]()
    my ($projectName, $jobsetName, $jobName, $attrs) = parseJobName($value);
    $projectName ||= $project->name;
    $jobsetName ||= $jobset->name;
    [4.8708]
    [4.8900]
    my ($projectName, $jobsetName, $jobName, $attrs) = parseJobName($value);
    $projectName ||= $project->name;
    $jobsetName ||= $jobset->name;
  • replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 192
    [4.8901][4.8901:9287]()
    # Pick the most recent successful build of the specified job.
    (my $prevBuild) = $db->resultset('Builds')->search(
    { finished => 1, project => $projectName, jobset => $jobsetName
    , job => $jobName, buildStatus => 0 },
    { join => 'resultInfo', order_by => "me.id DESC", rows => 1
    , where => \ attrsToSQL($attrs, "me.id") });
    [4.8901]
    [4.9287]
    # Pick the most recent successful build of the specified job.
    (my $prevBuild) = $db->resultset('Builds')->search(
    { finished => 1, project => $projectName, jobset => $jobsetName
    , job => $jobName, buildStatus => 0 },
    { join => 'resultInfo', order_by => "me.id DESC", rows => 1
    , where => \ attrsToSQL($attrs, "me.id") });
  • replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 199
    [4.9288][4.9288:9475]()
    if (!defined $prevBuild || !isValidPath($prevBuild->outpath)) {
    print STDERR "input `", $name, "': no previous build available\n";
    return undef;
    }
    [4.9288]
    [4.9475]
    if (!defined $prevBuild || !isValidPath($prevBuild->outpath)) {
    print STDERR "input `", $name, "': no previous build available\n";
    return undef;
    }
  • replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 204
    [4.9476][4.9476:9557]()
    #print STDERR "input `", $name, "': using build ", $prevBuild->id, "\n";
    [4.9476]
    [4.9557]
    #print STDERR "input `", $name, "': using build ", $prevBuild->id, "\n";
  • replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 206
    [4.9558][4.9558:9666]()
    my $pkgNameRE = "(?:(?:[A-Za-z0-9]|(?:-[^0-9]))+)";
    my $versionRE = "(?:[A-Za-z0-9\.\-]+)";
    [4.9558]
    [4.9666]
    my $pkgNameRE = "(?:(?:[A-Za-z0-9]|(?:-[^0-9]))+)";
    my $versionRE = "(?:[A-Za-z0-9\.\-]+)";
  • replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 209
    [4.9667][4.9667:9822]()
    my $relName = ($prevBuild->resultInfo->releasename or $prevBuild->nixname);
    my $version = $2 if $relName =~ /^($pkgNameRE)-($versionRE)$/;
    [4.9667]
    [4.9822]
    my $relName = ($prevBuild->resultInfo->releasename or $prevBuild->nixname);
    my $version = $2 if $relName =~ /^($pkgNameRE)-($versionRE)$/;
  • replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 212
    [4.9831][4.9831:10008]()
    return
    { type => "build"
    , storePath => $prevBuild->outpath
    , id => $prevBuild->id
    , version => $version
    };
    [4.9831]
    [4.134]
    return
    { type => "build"
    , storePath => $prevBuild->outpath
    , id => $prevBuild->id
    , version => $version
    };
  • edit in src/lib/Hydra/Helper/AddBuilds.pm at line 219
    [4.136]
    [4.136]
  • replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 224
    [4.226][4.226:387]()
    my ($projectName, $jobsetName, $jobName, $attrs) = parseJobName($value);
    $projectName ||= $project->name;
    $jobsetName ||= $jobset->name;
    [4.226]
    [4.387]
    my ($projectName, $jobsetName, $jobName, $attrs) = parseJobName($value);
    $projectName ||= $project->name;
    $jobsetName ||= $jobset->name;
  • replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 228
    [4.388][4.388:528]()
    my @latestBuilds = $db->resultset('LatestSucceededForJob')
    ->search({}, {bind => [$projectName, $jobsetName, $jobName]});
    [4.388]
    [4.528]
    my @latestBuilds = $db->resultset('LatestSucceededForJob')
    ->search({}, {bind => [$projectName, $jobsetName, $jobName]});
  • replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 231
    [4.529][4.529:705]()
    my @validBuilds = ();
    foreach my $build (@latestBuilds) {
    if(isValidPath($build->outpath)) {
    push(@validBuilds,$build);
    }
    }
    [4.529]
    [4.705]
    my @validBuilds = ();
    foreach my $build (@latestBuilds) {
    push(@validBuilds, $build) if isValidPath($build->outpath);
    }
    if (scalar(@validBuilds) == 0) {
    print STDERR "input `", $name, "': no previous build available\n";
    return undef;
    }
    my @inputs = ();
    foreach my $prevBuild (@validBuilds) {
    my $pkgNameRE = "(?:(?:[A-Za-z0-9]|(?:-[^0-9]))+)";
    my $versionRE = "(?:[A-Za-z0-9\.\-]+)";
  • replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 247
    [4.714][4.714:870]()
    if (scalar(@validBuilds) == 0) {
    print STDERR "input `", $name, "': no previous build available\n";
    return undef;
    }
    [4.714]
    [4.870]
    my $relName = ($prevBuild->resultInfo->releasename or $prevBuild->nixname);
    my $version = $2 if $relName =~ /^($pkgNameRE)-($versionRE)$/;
    my $input =
    { type => "sysbuild"
    , storePath => $prevBuild->outpath
    , id => $prevBuild->id
    , version => $version
    , system => $prevBuild->system
    };
    push(@inputs, $input);
    }
    return @inputs;
    }
  • edit in src/lib/Hydra/Helper/AddBuilds.pm at line 263
    [4.871][4.871:1514](),[4.1514][4.348:350](),[4.10008][4.348:350]()
    my @inputs = ();
    foreach my $prevBuild (@validBuilds) {
    my $pkgNameRE = "(?:(?:[A-Za-z0-9]|(?:-[^0-9]))+)";
    my $versionRE = "(?:[A-Za-z0-9\.\-]+)";
    my $relName = ($prevBuild->resultInfo->releasename or $prevBuild->nixname);
    my $version = $2 if $relName =~ /^($pkgNameRE)-($versionRE)$/;
    my $input =
    { type => "sysbuild"
    , storePath => $prevBuild->outpath
    , id => $prevBuild->id
    , version => $version
    , system => $prevBuild->system
    };
    push(@inputs, $input);
    }
    return @inputs;
    }
  • replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 277
    [4.175][4.175:216]()
    "git", "ls-remote", $uri, $branch);
    [4.175]
    [4.216]
    "git", "ls-remote", $uri, $branch);
  • replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 286
    [4.618][4.618:691]()
    {uri => $uri, branch => $branch, revision => $revision},
    {rows => 1});
    [4.618]
    [4.691]
    {uri => $uri, branch => $branch, revision => $revision},
    {rows => 1});
  • replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 289
    [4.726][4.726:912]()
    ($cachedInput) = $db->resultset('CachedGitInputs')->search(
    {uri => $uri, branch => $branch, lastseen => {">", $timestamp - 3600}},
    {rows => 1, order_by => "lastseen DESC"});
    [4.726]
    [4.912]
    ($cachedInput) = $db->resultset('CachedGitInputs')->search(
    {uri => $uri, branch => $branch, lastseen => {">", $timestamp - 3600}},
    {rows => 1, order_by => "lastseen DESC"});
  • replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 296
    [2.46][2.46:171]()
    $sha256 = $cachedInput->sha256hash;
    $timestamp = $cachedInput->timestamp;
    $revision = $cachedInput->revision;
    [2.46]
    [4.947]
    $sha256 = $cachedInput->sha256hash;
    $timestamp = $cachedInput->timestamp;
    $revision = $cachedInput->revision;
  • replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 301
    [2.177][2.177:352]()
    # Then download this revision into the store.
    print STDERR "checking out Git input from $uri";
    $ENV{"NIX_HASH_ALGO"} = "sha256";
    $ENV{"PRINT_PATH"} = "1";
    [2.177]
    [2.352]
    # Then download this revision into the store.
    print STDERR "checking out Git input from $uri";
    $ENV{"NIX_HASH_ALGO"} = "sha256";
    $ENV{"PRINT_PATH"} = "1";
  • replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 306
    [2.357][2.357:704]()
    # Checked out code often wants to be able to run `git
    # describe', e.g., code that uses Gnulib's `git-version-gen'
    # script. Thus, we leave `.git' in there. Same for
    # Subversion (e.g., libgcrypt's build system uses that.)
    $ENV{"NIX_PREFETCH_GIT_LEAVE_DOT_GIT"} = "1";
    $ENV{"NIX_PREFETCH_SVN_LEAVE_DOT_SVN"} = "1";
    [2.357]
    [2.704]
    # Checked out code often wants to be able to run `git
    # describe', e.g., code that uses Gnulib's `git-version-gen'
    # script. Thus, we leave `.git' in there. Same for
    # Subversion (e.g., libgcrypt's build system uses that.)
    $ENV{"NIX_PREFETCH_GIT_LEAVE_DOT_GIT"} = "1";
    $ENV{"NIX_PREFETCH_SVN_LEAVE_DOT_SVN"} = "1";
  • replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 313
    [2.709][2.709:943]()
    # Ask for a "deep clone" to allow "git describe" and similar
    # tools to work. See
    # http://thread.gmane.org/gmane.linux.distributions.nixos/3569
    # for a discussion.
    $ENV{"NIX_PREFETCH_GIT_DEEP_CLONE"} = "1";
    [2.709]
    [2.943]
    # Ask for a "deep clone" to allow "git describe" and similar
    # tools to work. See
    # http://thread.gmane.org/gmane.linux.distributions.nixos/3569
    # for a discussion.
    $ENV{"NIX_PREFETCH_GIT_DEEP_CLONE"} = "1";
  • replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 319
    [2.948][2.948:1144]()
    (my $res, $stdout, $stderr) = captureStdoutStderr(
    "nix-prefetch-git", $uri, $revision);
    die "Cannot check out Git repository branch '$branch' at `$uri':\n$stderr" unless $res;
    [2.948]
    [2.1144]
    (my $res, $stdout, $stderr) = captureStdoutStderr(
    "nix-prefetch-git", $uri, $revision);
    die "Cannot check out Git repository branch '$branch' at `$uri':\n$stderr" unless $res;
  • replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 323
    [2.1149][2.1149:1330]()
    ($sha256, $storePath) = split ' ', $stdout;
    ($cachedInput) = $db->resultset('CachedGitInputs')->search(
    {uri => $uri, branch => $branch, sha256hash => $sha256});
    [2.1149]
    [2.1330]
    ($sha256, $storePath) = split ' ', $stdout;
    ($cachedInput) = $db->resultset('CachedGitInputs')->search(
    {uri => $uri, branch => $branch, sha256hash => $sha256});
  • replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 327
    [2.1335][2.1335:1933]()
    if (!defined $cachedInput) {
    txn_do($db, sub {
    $db->resultset('CachedGitInputs')->update_or_create(
    { uri => $uri
    , branch => $branch
    , revision => $revision
    , timestamp => $timestamp
    , lastseen => $timestamp
    , sha256hash => $sha256
    , storepath => $storePath
    });
    });
    } else {
    $timestamp = $cachedInput->timestamp;
    txn_do($db, sub {
    [2.1335]
    [2.1933]
    if (!defined $cachedInput) {
    txn_do($db, sub {
    $db->resultset('CachedGitInputs')->update_or_create(
    { uri => $uri
    , branch => $branch
    , revision => $revision
    , timestamp => $timestamp
    , lastseen => $timestamp
    , sha256hash => $sha256
    , storepath => $storePath
    });
    });
    } else {
    $timestamp = $cachedInput->timestamp;
    txn_do($db, sub {
  • replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 343
    [2.1991][2.1991:2011]()
    });
    }
    [2.1991]
    [4.10008]
    });
    }
  • replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 348
    [4.1934][4.1934:2042](),[4.2042][4.1239:1270](),[4.1270][4.2107:2117](),[4.2107][4.2107:2117]()
    { type => $type
    , uri => $uri
    , storePath => $storePath
    , sha256hash => $sha256
    , revision => $revision
    };
    [4.1934]
    [4.2117]
    { type => $type
    , uri => $uri
    , storePath => $storePath
    , sha256hash => $sha256
    , revision => $revision
    };
    }
  • edit in src/lib/Hydra/Helper/AddBuilds.pm at line 356
    [4.2118][4.2118:2120]()
    }
  • edit in src/lib/Hydra/Helper/AddBuilds.pm at line 360
    [4.2203]
    [4.2203]
  • replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 366
    [4.2309][4.2309:2379]()
    return fetchInputPath($db, $project, $jobset, $name, $type, $value);
    [4.2309]
    [4.2379]
    return fetchInputPath($db, $project, $jobset, $name, $type, $value);
  • replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 369
    [4.2414][4.2414:2483]()
    return fetchInputSVN($db, $project, $jobset, $name, $type, $value);
    [4.2414]
    [4.2483]
    return fetchInputSVN($db, $project, $jobset, $name, $type, $value);
  • replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 372
    [4.2520][4.2520:2591]()
    return fetchInputBuild($db, $project, $jobset, $name, $type, $value);
    [4.2520]
    [4.1515]
    return fetchInputBuild($db, $project, $jobset, $name, $type, $value);
  • replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 375
    [4.1555][4.1555:1632]()
    return fetchInputSystemBuild($db, $project, $jobset, $name, $type, $value);
    [4.1555]
    [4.2591]
    return fetchInputSystemBuild($db, $project, $jobset, $name, $type, $value);
  • replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 378
    [4.2626][4.2626:2695]()
    return fetchInputGit($db, $project, $jobset, $name, $type, $value);
    [4.2626]
    [4.2695]
    return fetchInputGit($db, $project, $jobset, $name, $type, $value);
  • replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 458
    [4.1777][4.1777:2088]()
    my $validJob = 1;
    foreach my $arg (@{$job->{arg}}) {
    my $input = $inputInfo->{$arg->{name}}->[$arg->{altnr}] ;
    if($input->{type} eq "sysbuild" && ! ($input->{system} eq $job->{system}) ) {
    $validJob = 0 ;
    }
    }
    if($validJob) {
    push(@filteredJobs, $job);
    }
    [4.1777]
    [4.2088]
    my $validJob = 1;
    foreach my $arg (@{$job->{arg}}) {
    my $input = $inputInfo->{$arg->{name}}->[$arg->{altnr}] ;
    if ($input->{type} eq "sysbuild" && $input->{system} ne $job->{system}) {
    $validJob = 0;
    }
    }
    if ($validJob) {
    push(@filteredJobs, $job);
    }