Remove the logfile and logSize columns from the database

[?]
Jan 22, 2013, 9:48 PM
Y6AHH4THYQA43V77L43YM42DYRPCMDSWLUV4NKWAQYMPL4NTUIPQC

Dependencies

  • [2] AZCCANUB Missing part of aaacf9eda36f5cdcc77cec20d6f49fbb6f925105
  • [3] 5EIPRLDD export logContents
  • [4] 3PNG7NIB Remove trailing whitespace
  • [5] DTXTS7LN * Speed up findBuildDependencyInQueue by doing only one SQL query for
  • [6] X27GNHDV * Basic job info in the database.
  • [7] INNOEHO6 * Fix getBuildLog for bzip2'd files.
  • [8] LQNBKF3D
  • [9] YTZOC7C5 * Editing of jobset inputs.
  • [10] 6BLUKEQ2 * Caching of "path" inputs, and fake a revision number for those.
  • [11] GAIBDEZZ * Store the name of the machine that performed a build step in the
  • [12] TQKGQ5R3
  • [13] TLZ2SPBR
  • [14] ZTQEU5QS Hydra: Add support for maxSilent meta attribute (also already added timeout, but not implemented the actual timeout for the build yet)
  • [15] SMCOU72F hydra: add some admin for adding/enabling/etc build machines
  • [16] D3DIBMOK * For products that are directories (like manuals), allow a default
  • [17] SAIUFDP3 hydra: make sure viewing logs works when logs are bz2'd
  • [18] EFWN7JBV * Added a status page that shows all the currently executing build steps.
  • [19] R5D7DZPE
  • [20] BHZXGT2H * Channels: provide an index page that lists all the packages in the
  • [21] 37R34XJO * Negative caching: don't perform a build if a dependency already
  • [22] JM3DPYOM generated schema with new dbix class schema loader, grrrrrr
  • [23] C2DCO6AS
  • [24] OEPUOUNB Using twitter bootstrap for more consistent looks for Hydra
  • [25] HSVVEKTY * Start of a JSON API to get information about a specific build.
  • [26] H47WLVAT * Handle the case where there is no cached build step that produced
  • [27] P5X4P6VK * Renaming "release sets" to "views" (not finished yet). Having
  • [28] RXVJFQ5A Evaluator cleanups
  • [29] 2NGV7NYN Drop unused "tag" column
  • [30] TOTSL2RB When checking if build is already built, check for potential 'failed with result'. Fixes issue #7.
  • [31] KAZWI5G4 * hydra: buildpage, show changes since last build/successful build
  • [32] VJHIHMEH * Store the meta.longDescription and meta.license attributes in the
  • [33] NREF6YOA * Don't start more builds concurrently than allowed for each system
  • [34] 6M4KNDXX * Catalyst::View::Download::Plain doesn't like empty files.
  • [35] PPJN6SDP * paging for releases page
  • [36] LBNVQXUB * Build the /build stuff in a separate controller.
  • [37] PY4WQF5G remove ascii escapes from log in tail page and emails
  • [38] EYNG4EL4 * Regenerate the bindings from a clean sqlite database.
  • [39] WM5WAST3 * Monitor for dead builds all the time.
  • [40] RBHHV7P7 * Read logs using logContents function in stead of handling it everywhere separately.
  • [41] 5NO7NCKT * Refactoring.
  • [42] QUTWJR7P * Include more info in notification emails.
  • [43] J5UVLXOK * Start of a basic Catalyst web interface.
  • [44] GWCV3TQV * BuildInputs table: link to dependencies, include store paths.
  • [45] NZI7E2E3 * hydra: handle case where logfile is empty
  • [46] V4RNHJNR * Add a link to each project's homepage. Suggested by karltk.
  • [47] BVOPAMLS
  • [48] OV7F5M3E Merge branch 'queue-17'
  • [49] HPEG2RHV Merge the BuildResultInfo table into the Builds table
  • [50] GJFYEU3S * Nix now stores logs by default as bzip2, make sure the build page uncompresses before showing.
  • [51] XHK7IGYI * hdyra: show last succeeded build and changes since on build status summary if build has failed
  • [52] D7TT2BNK
  • [53] QBQSQOSY hydra: moved getbuildlog
  • [54] ZWCTAZGL added newsitems, added some admin options to clear various caches.
  • [55] LZO3C2KI * Hack around those SQLite timeouts: just retry the transaction.
  • [56] RU7AQO7U * Role-based access control. Only admins can create projects. Only
  • [57] DQD7JMSU * Fix the terminology.
  • [58] S6OISBQ3 * Mark the "current" builds in a jobset, i.e. those corresponding to
  • [59] 5O6E5SU5 hydra: store logfile/output path/closure size
  • [60] MMDLWWZ2 automatic reload of tail log when build is running
  • [61] 6US6LEC7 * Add a NarSize field to Hydra manifests. This allows nix-env
  • [62] H7CNGK4O * Log evaluation errors etc. in the DB.
  • [63] KPZNJ33U * In views, support selecting a job that doesn't depend on the
  • [64] IK53RV4V
  • [65] SB2V735V Keep track of the database schema version
  • [66] OOQ2D3KC * Refactoring: move fetchInput out of hydra_scheduler into a separate
  • [67] DVNWJXWW * Generic declaration of build products.
  • [68] 6F4UNDTC * Provide access to the raw, non-pretty-printed logfiles.
  • [69] LCKWLQW3 * In Sqlite "release" is now a keyword, so use "release_" instead.
  • [70] JTRG7RDQ add support for git as jobinput
  • [71] ZI535LI6 * hydra: 'new' UI for project/jobset/job/build
  • [72] 3HCBU2FA
  • [73] B72GLND4
  • [74] U6UJRDG2 * Oops.
  • [75] G2T4WAHI Store the inputs of each evaluation in the database
  • [76] CQTN62OH Die tabs die
  • [77] KN3VYE5P * Cleaned up the foreign key constraints.
  • [78] QTFVCDIF added hide feature for project/jobset
  • [79] PHX2HIVG * Store info about the build inputs in the build record.
  • [80] FHF6IZJQ * Basic release management: releases are now dynamically computed as
  • [81] RBNQKATL * Adding persistant releases. A release is a named set of builds.
  • [82] MOX7XJ2E Merge the BuildSchedulingInfo table into the Builds table
  • [83] SHBLLAVH * More global substitution.
  • [84] BD3GRK4B * Get rid of "positive failures" and separate log phases.
  • [85] A22P7HCO hydra: at evaluation, check if path is already built, and mark as built in stead of adding to the queue.
  • [86] ZVTSOVHN * Support Subversion checkouts.
  • [87] SJLEZFC4 check getHydraPath in stead of Envvar HYDRA_DBI directly
  • [88] SGNXIOI4 Hydra/32: Add option to force evaluation of a certain jobset via web interface (for admins only)
  • [89] JI26P3PC hydra: export addBuildProducts
  • [90] ZEHSSVFG
  • [91] D7NXMCON * Doh.
  • [92] 5DSF5KWY * Perl sucks. "getBuildLog $drvPath" doesn't mean the same as
  • [93] 7ZSVXUGF sequence fix for postgresql
  • [94] AHTEIK7G * Added a maintainers field to the Builds table.
  • [95] GNIEG2GC * Disambiguate jobs by jobset name. I.e. jobs with the same name in
  • [96] 2R7GHSA4 * hydra: added initial version of build graph
  • [97] QE253KG4 * Option to show the tail of a log.
  • [98] 3XTHEUMP * Implemented the clone feature.
  • [99] 7YBYT2LQ
  • [100] V62IBGJV * Cannot call isValidPath on a logfile. This happened to work because
  • [101] CMU3YKOU * Store the release name.
  • [102] WYN733ST * Store build duration, handle cached builds.
  • [103] S5PV6IIM * Represent jobs explicitly in the DB.
  • [104] MPVX6MKX * hydra: on build page, show tail of log on first tab when buildstatus == 1 (this specific build failed)
  • [105] CLJQCY2X * Store info about all the build actions and allow them to be
  • [106] KXGOUX7P * Creating releases.
  • [107] KOTB7BKV
  • [108] TWVSALRL * Allow the maximum number of concurrent builds per platform to be
  • [109] D6YQQQCN * Don't ignore SIGCHLD after all, Perl doesn't like it. Just do
  • [110] L2E6EVE2 * Merged the Build and Job tables.
  • [111] 3E6IP3R3 * Add the name of the jobset to ReleaseSetJobs, otherwise we can't
  • [112] 5SHCWE7X * Prevent repeated evaluation of a jobset with the same inputs. This
  • [113] FGQPXZIX hydra: make nr of build to keep configurable per jobset
  • [114] C7CXMZ66 hydra: do not perform git clone every time. in stead work on local clone and pull
  • [115] YAPITGB3 * Boolean inputs.
  • [116] 4D4U5IPY * Allow jobsets to be disabled.
  • [117] FYO6NECE hydra
  • [118] ECBA3GQO * Make the schema class names match the case of the SQL table names.
  • [119] OSVLMLCQ hydra: factored out build restart and
  • [120] HB3OHPJL hydra: in case of cached build, add link to build that built the storepath
  • [121] WAZFSDSL using backquote as argument resulted in only first line as first argument to removeAsciiEscapes
  • [122] BMSQD2ZH Indentation
  • [123] S66BOMVU * Added authentication.
  • [124] 3ZCEPLNO
  • [125] AFTXA575 * $HYDRA_DATA environment variable.
  • [126] RFE6T5LG * Store jobset evaluations in the database explicitly. This includes
  • [127] TJK27WSB Open the DB using Hydra::Model::DB->new
  • [128] W3HI52QV use NIX_*_DIR env vars when defined
  • [129] TW5ZQX5Z * Move up the build products in the builds page, since they're more
  • [130] 3BKF6P72 * Use Nix's negative caching.
  • [131] M552HLIA * Support variant builds.
  • [132] NABL63FI * hydra: project members can do stuff that the owner can do
  • [133] ZNKPGZHF hydra: error on buildpage for queued build
  • [134] AX5EQJO3 hydra: show machine in buildsteps
  • [135] BDSD2JLV * Speed up manifest generation.
  • [136] Q24QXGSM * Don't do pretty printing for large logs, because the XSLT processing
  • [137] BOFOHCPK removed debug print, added last 50 lines in failure emails
  • [138] SHYRGAWZ hydra: when no external url is given for diff's of git/hg input, revert to a diff done on a local available clone
  • [139] 67P45PY4
  • [140] ZEEZRG2E clean up build page for build that failed with result
  • [*] XDDCO6CH * hydra: add dependency list with links to logfiles
  • [*] 2GK5DOU7 * Downloading closures.
  • [*] IN272KZW * Automatically keep all builds in the latest successful release in
  • [*] N22GPKYT * Put info about logs / build products in the DB.

Change contents

  • edit in src/lib/Hydra/Controller/Build.pm at line 10
    [5.16]
    [142.0]
    use File::Slurp;
  • edit in src/lib/Hydra/Controller/Build.pm at line 34
    [5.76][5.4:119]()
    sub cat_log_command {
    my ($path) = @_;
    return ($path =~ /.bz2$/ ? "cat $path | bzip2 -d" : "cat $path");
    }
  • replacement in src/lib/Hydra/Controller/Build.pm at line 48
    [5.1034][5.1034:1073](),[5.1073][5.0:54]()
    my $logfile = $build->logfile;
    $c->stash->{logtext} = logContents($logfile);
    [5.1034]
    [5.0]
    $c->stash->{logtext} = read_file($build->logfile, err_mode => 'quiet') // "";
  • replacement in src/lib/Hydra/Controller/Build.pm at line 52
    [5.3014][5.82:188](),[5.82][5.82:188]()
    (my $cachedBuildStep) = $c->model('DB::BuildSteps')->search({ outpath => $build->outpath }, {}) ;
    [5.3014]
    [5.0]
    (my $cachedBuildStep) = $c->model('DB::BuildSteps')->search({ outpath => $build->outpath }, {});
  • edit in src/lib/Hydra/Controller/Build.pm at line 56
    [5.272][5.0:97](),[5.5][5.0:97](),[5.97][5.0:71](),[5.71][5.3015:3149](),[5.3149][5.1112:1158](),[5.94][5.35:96](),[5.360][5.35:96](),[5.1158][5.35:96](),[5.35][5.35:96](),[5.64][5.222:229](),[5.96][5.222:229](),[5.251][5.222:229]()
    (my $lastBuildStep) = $build->buildsteps->search({},{order_by => "stepnr DESC", rows => 1});
    my $path = defined $lastBuildStep ? $lastBuildStep->logfile : "" ;
    if ($build->finished && ($build->buildstatus == 1 || $build->buildstatus == 6) && !($path eq "") && -f $lastBuildStep->logfile) {
    my $logtext = logContents($path, 50);
    $c->stash->{logtext} = removeAsciiEscapes($logtext);
    }
  • replacement in src/lib/Hydra/Controller/Build.pm at line 94
    [5.1443][5.98:138]()
    showLog($c, $step->logfile, $mode);
    [5.1443]
    [5.1554]
    showLog($c, $step->drvpath, $mode);
  • replacement in src/lib/Hydra/Controller/Build.pm at line 100
    [5.221][5.1641:1642](),[5.1641][5.1641:1642](),[5.1642][5.3247:3333](),[5.3333][5.1786:1787](),[5.1786][5.1786:1787](),[5.1787][5.3334:3387]()
    error($c, "Build didn't produce a log.") if !defined $c->stash->{build}->logfile;
    showLog($c, $c->stash->{build}->logfile, $mode);
    [5.221]
    [5.1923]
    showLog($c, $c->stash->{build}->drvpath, $mode);
  • replacement in src/lib/Hydra/Controller/Build.pm at line 105
    [5.302][5.302:334]()
    my ($c, $path, $mode) = @_;
    [5.302]
    [5.0]
    my ($c, $drvPath, $mode) = @_;
  • replacement in src/lib/Hydra/Controller/Build.pm at line 107
    [5.1][5.1:56]()
    my $fallbackpath = -f $path ? $path : "$path.bz2";
    [5.1]
    [5.1997]
    my $logPath = getDrvLogPath($drvPath);
  • replacement in src/lib/Hydra/Controller/Build.pm at line 109
    [5.1998][5.57:162]()
    notFound($c, "Log file $path no longer exists.") unless -f $fallbackpath;
    $path = $fallbackpath;
    [5.1998]
    [5.198]
    notFound($c, "The build log of derivation ‘$drvPath’ is not available.") unless defined $logPath;
  • replacement in src/lib/Hydra/Controller/Build.pm at line 113
    [5.384][5.95:179](),[5.179][5.245:279](),[5.384][5.245:279]()
    my $pipestart = ($path =~ /.bz2$/ ? "cat $path | bzip2 -d" : "cat $path") ;
    my $pipeline = $pipestart
    [5.384]
    [5.465]
    my $pipeline = "nix-store -l $drvPath"
  • edit in src/lib/Hydra/Controller/Build.pm at line 116
    [5.636][5.2259:2260](),[5.2259][5.2259:2260]()
  • replacement in src/lib/Hydra/Controller/Build.pm at line 121
    [5.759][5.180:259]()
    $c->stash->{'plain'} = { data => (scalar logContents($path)) || " " };
    [5.759]
    [5.353]
    $c->stash->{'plain'} = { data => (scalar logContents($drvPath)) || " " };
  • replacement in src/lib/Hydra/Controller/Build.pm at line 131
    [5.307][5.260:332]()
    $c->stash->{contents} = (scalar logContents($path, 50)) || " ";
    [5.307]
    [5.382]
    $c->stash->{contents} = (scalar logContents($drvPath, 50)) || " ";
  • replacement in src/lib/Hydra/Controller/Build.pm at line 136
    [5.49][5.333:416]()
    $c->stash->{'plain'} = { data => (scalar logContents($path, 50)) || " " };
    [5.49]
    [5.119]
    $c->stash->{'plain'} = { data => (scalar logContents($drvPath, 50)) || " " };
  • replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 20
    [5.68][5.87:156](),[5.87][5.87:156]()
    getReleaseName getBuildLog addBuildProducts restartBuild scmPath
    [5.68]
    [5.67]
    getReleaseName addBuildProducts restartBuild scmPath
  • edit in src/lib/Hydra/Helper/AddBuilds.pm at line 30
    [5.115][5.115:157](),[5.157][5.468:559](),[5.559][5.69:190](),[5.190][5.81:83](),[5.264][5.81:83](),[5.81][5.81:83](),[5.83][5.2816:2817](),[5.2816][5.2816:2817](),[5.2817][5.265:266]()
    sub getBuildLog {
    my ($drvPath) = @_;
    my $logPath = ($ENV{NIX_LOG_DIR} || "/nix/var/log/nix"). "/drvs/" . basename $drvPath;
    return $logPath if -e $logPath;
    $logPath = "$logPath.bz2";
    return $logPath if -e $logPath;
    return undef;
    }
  • edit in src/lib/Hydra/Helper/AddBuilds.pm at line 923
    [5.688][5.1148:1199](),[5.1148][5.1148:1199]()
    , logfile => getBuildLog($drvPath)
  • replacement in src/lib/Hydra/Helper/Nix.pm at line 17
    [3.48][3.48:100]()
    jobsetOverview removeAsciiEscapes logContents);
    [3.48]
    [5.77]
    jobsetOverview removeAsciiEscapes getDrvLogPath logContents);
  • edit in src/lib/Hydra/Helper/Nix.pm at line 238
    [144.3643]
    [144.3643]
    return undef;
    }
    # Return the path of the build log of the given derivation, or undef
    # if the log is gone.
    sub getDrvLogPath {
    my ($drvPath) = @_;
    my $base = basename $drvPath;
    my $fn =
    ($ENV{NIX_LOG_DIR} || "/nix/var/log/nix") . "/drvs/"
    . substr($base, 0, 2) . "/"
    . substr($base, 2);
    return $fn if -f $fn;
    $fn .= ".bz2";
    return $fn if -f $fn;
  • edit in src/lib/Hydra/Helper/Nix.pm at line 257
    [5.5600]
    [5.441]
  • replacement in src/lib/Hydra/Helper/Nix.pm at line 259
    [5.459][5.459:487]()
    my ($path, $tail) = @_;
    [5.459]
    [5.487]
    my ($drvPath, $tail) = @_;
    my $logPath = getDrvLogPath($drvPath);
    die unless defined $logPath;
  • replacement in src/lib/Hydra/Helper/Nix.pm at line 263
    [5.500][5.500:624]()
    if ($path =~ /.bz2$/) {
    $cmd = "cat $path | bzip2 -d";
    $cmd = $cmd . " | tail -$tail" if defined $tail;
    [5.500]
    [5.624]
    if ($logPath =~ /.bz2$/) {
    $cmd = "bzip2 -d < $logPath";
    $cmd = $cmd . " | tail -n $tail" if defined $tail;
  • replacement in src/lib/Hydra/Helper/Nix.pm at line 268
    [5.641][5.641:707]()
    $cmd = defined $tail ? "tail -$tail $path" : "cat $path";
    [5.641]
    [5.707]
    $cmd = defined $tail ? "tail -$tail $logPath" : "cat $logPath";
  • replacement in src/lib/Hydra/Helper/Nix.pm at line 270
    [5.713][5.713:744]()
    return `$cmd` if -e $path;
    [5.713]
    [5.744]
    return `$cmd`;
  • edit in src/lib/Hydra/Helper/Nix.pm at line 273
    [5.850]
    [5.150]
  • replacement in src/lib/Hydra/Schema/BuildInputs.pm at line 130
    [5.2006][5.116:143]()
    { join_type => "LEFT" },
    [5.2006]
    [5.2039]
    {
    is_deferrable => 0,
    join_type => "LEFT",
    on_delete => "CASCADE",
    on_update => "NO ACTION",
    },
  • replacement in src/lib/Hydra/Schema/BuildInputs.pm at line 150
    [5.2136][5.144:171]()
    { join_type => "LEFT" },
    [5.2136]
    [5.2169]
    {
    is_deferrable => 0,
    join_type => "LEFT",
    on_delete => "NO ACTION",
    on_update => "NO ACTION",
    },
  • replacement in src/lib/Hydra/Schema/BuildInputs.pm at line 159
    [5.25][5.0:142]()
    # Created by DBIx::Class::Schema::Loader v0.07014 @ 2012-04-15 12:38:16
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:sav9OmLm3qA/jiK5k+KIjw
    [5.25]
    [5.151]
    # Created by DBIx::Class::Schema::Loader v0.07033 @ 2013-01-22 13:29:36
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:byU/SLN03zNJlSFbi/3Bcg
  • replacement in src/lib/Hydra/Schema/BuildMachineSystemTypes.pm at line 74
    [5.6830][5.6830:6836]()
    {},
    [5.6830]
    [5.6836]
    { is_deferrable => 0, on_delete => "CASCADE", on_update => "NO ACTION" },
  • replacement in src/lib/Hydra/Schema/BuildMachineSystemTypes.pm at line 78
    [5.6841][5.1468:1610]()
    # Created by DBIx::Class::Schema::Loader v0.07014 @ 2011-12-05 14:15:43
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:CpwMC8YMFC4B7gzGBdzh0A
    [5.6841]
    [5.6983]
    # Created by DBIx::Class::Schema::Loader v0.07033 @ 2013-01-22 13:29:36
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:im3sfvrv5YY3i1IAOozeiA
  • replacement in src/lib/Hydra/Schema/BuildMachines.pm at line 112
    [5.9167][5.2476:2482]()
    {},
    [5.9167]
    [5.9167]
    undef,
  • replacement in src/lib/Hydra/Schema/BuildMachines.pm at line 116
    [5.9172][5.2483:2625]()
    # Created by DBIx::Class::Schema::Loader v0.07014 @ 2011-12-05 14:15:43
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:wboDtUIBUkvEiUHpe09kkg
    [5.9172]
    [5.9314]
    # Created by DBIx::Class::Schema::Loader v0.07033 @ 2013-01-22 13:29:36
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:OST5IMcvHKsXlNMCRazXhg
  • replacement in src/lib/Hydra/Schema/BuildProducts.pm at line 133
    [5.4921][5.2688:2770]()
    __PACKAGE__->belongs_to("build", "Hydra::Schema::Builds", { id => "build" }, {});
    [5.4921]
    [5.4921]
    __PACKAGE__->belongs_to(
    "build",
    "Hydra::Schema::Builds",
    { id => "build" },
    { is_deferrable => 0, on_delete => "CASCADE", on_update => "NO ACTION" },
    );
  • replacement in src/lib/Hydra/Schema/BuildProducts.pm at line 141
    [5.5065][5.4075:4217]()
    # Created by DBIx::Class::Schema::Loader v0.07014 @ 2012-02-29 00:47:18
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:dzTKwZ7bby7kplnSgta3Gw
    [5.5065]
    [5.5065]
    # Created by DBIx::Class::Schema::Loader v0.07033 @ 2013-01-22 13:29:36
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:KHwh/Np40jxKXc3ijMImEQ
  • edit in src/lib/Hydra/Schema/BuildSteps.pm at line 51
    [5.6113][5.6113:6129]()
    =head2 logfile
  • edit in src/lib/Hydra/Schema/BuildSteps.pm at line 52
    [5.6130][5.6415:6435](),[5.6435][5.6171:6188](),[5.6171][5.6171:6188](),[5.6202][5.6202:6203]()
    data_type: 'text'
    is_nullable: 1
  • edit in src/lib/Hydra/Schema/BuildSteps.pm at line 101
    [5.6362][5.2235:2248](),[5.6886][5.2235:2248](),[5.2235][5.2235:2248](),[5.2248][5.6887:6932]()
    "logfile",
    { data_type => "text", is_nullable => 1 },
  • replacement in src/lib/Hydra/Schema/BuildSteps.pm at line 141
    [5.6766][5.6766:6848]()
    __PACKAGE__->belongs_to("build", "Hydra::Schema::Builds", { id => "build" }, {});
    [5.6766]
    [5.2815]
    __PACKAGE__->belongs_to(
    "build",
    "Hydra::Schema::Builds",
    { id => "build" },
    { is_deferrable => 0, on_delete => "CASCADE", on_update => "NO ACTION" },
    );
  • replacement in src/lib/Hydra/Schema/BuildSteps.pm at line 149
    [5.2959][5.7371:7513]()
    # Created by DBIx::Class::Schema::Loader v0.07014 @ 2011-12-05 14:15:43
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:5H+OkGT0zQEWkAjU+OlBdg
    [5.2959]
    [5.2959]
    # Created by DBIx::Class::Schema::Loader v0.07033 @ 2013-01-22 13:29:36
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:ItI1OvxHfLTzLVEqfPRjHg
  • edit in src/lib/Hydra/Schema/Builds.pm at line 185
    [5.5858][5.5858:5874]()
    =head2 logsize
  • edit in src/lib/Hydra/Schema/Builds.pm at line 186
    [5.5875][5.5875:5915]()
    data_type: 'bigint'
    is_nullable: 1
  • edit in src/lib/Hydra/Schema/Builds.pm at line 270
    [5.6398][5.6398:6458]()
    "logsize",
    { data_type => "bigint", is_nullable => 1 },
  • replacement in src/lib/Hydra/Schema/Builds.pm at line 306
    [5.9388][5.9388:9394]()
    {},
    [5.9388]
    [5.9394]
    undef,
  • replacement in src/lib/Hydra/Schema/Builds.pm at line 321
    [5.9620][5.9084:9090](),[5.563][5.9084:9090]()
    {},
    [5.9620]
    [5.563]
    undef,
  • replacement in src/lib/Hydra/Schema/Builds.pm at line 336
    [5.2880][5.9954:9960]()
    {},
    [5.9820]
    [5.2880]
    undef,
  • replacement in src/lib/Hydra/Schema/Builds.pm at line 351
    [5.1377][5.10117:10123]()
    {},
    [5.1377]
    [5.3006]
    undef,
  • replacement in src/lib/Hydra/Schema/Builds.pm at line 366
    [5.10316][5.10316:10322]()
    {},
    [5.10316]
    [5.706]
    { is_deferrable => 0, on_delete => "NO ACTION", on_update => "CASCADE" },
  • replacement in src/lib/Hydra/Schema/Builds.pm at line 381
    [5.10510][5.10510:10516]()
    {},
    [5.10510]
    [5.3208]
    { is_deferrable => 0, on_delete => "NO ACTION", on_update => "CASCADE" },
  • replacement in src/lib/Hydra/Schema/Builds.pm at line 396
    [5.223][5.223:229]()
    {},
    [5.223]
    [5.229]
    undef,
  • replacement in src/lib/Hydra/Schema/Builds.pm at line 411
    [5.802][5.10658:10664]()
    {},
    [5.802]
    [5.1149]
    undef,
  • replacement in src/lib/Hydra/Schema/Builds.pm at line 422
    [5.9868][5.10743:10833]()
    __PACKAGE__->belongs_to("project", "Hydra::Schema::Projects", { name => "project" }, {});
    [5.9868]
    [5.6192]
    __PACKAGE__->belongs_to(
    "project",
    "Hydra::Schema::Projects",
    { name => "project" },
    { is_deferrable => 0, on_delete => "NO ACTION", on_update => "CASCADE" },
    );
  • replacement in src/lib/Hydra/Schema/Builds.pm at line 441
    [5.1177][5.10963:10969]()
    {},
    [5.1177]
    [5.1177]
    undef,
  • replacement in src/lib/Hydra/Schema/Builds.pm at line 445
    [5.1182][5.234:376]()
    # Created by DBIx::Class::Schema::Loader v0.07014 @ 2012-04-15 16:38:10
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:AltTdmkzfwBMYToTkj84vA
    [5.1182]
    [5.3377]
    # Created by DBIx::Class::Schema::Loader v0.07033 @ 2013-01-22 13:34:39
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:wPBFqpUWncuD9xki8Pbnvg
  • replacement in src/lib/Hydra/Schema/Jobs.pm at line 125
    [5.16205][5.16205:16211]()
    {},
    [5.16205]
    [5.16211]
    undef,
  • replacement in src/lib/Hydra/Schema/Jobs.pm at line 140
    [5.1426][5.14683:14689]()
    {},
    [5.1426]
    [5.1426]
    { is_deferrable => 0, on_delete => "CASCADE", on_update => "CASCADE" },
  • replacement in src/lib/Hydra/Schema/Jobs.pm at line 151
    [5.14770][5.16293:16383]()
    __PACKAGE__->belongs_to("project", "Hydra::Schema::Projects", { name => "project" }, {});
    [5.14770]
    [5.2611]
    __PACKAGE__->belongs_to(
    "project",
    "Hydra::Schema::Projects",
    { name => "project" },
    { is_deferrable => 0, on_delete => "CASCADE", on_update => "CASCADE" },
    );
  • replacement in src/lib/Hydra/Schema/Jobs.pm at line 159
    [5.2613][5.16384:16526]()
    # Created by DBIx::Class::Schema::Loader v0.07014 @ 2011-12-05 14:15:43
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:ZyDc4SrY9RfmsLK6VOqHhw
    [5.2613]
    [5.2756]
    # Created by DBIx::Class::Schema::Loader v0.07033 @ 2013-01-22 13:29:36
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:Vfl4QtuyeKeEk9+Ap7FP2A
  • replacement in src/lib/Hydra/Schema/JobsetEvalInputs.pm at line 133
    [5.2307][5.2307:2334]()
    { join_type => "LEFT" },
    [5.2307]
    [5.2334]
    {
    is_deferrable => 0,
    join_type => "LEFT",
    on_delete => "NO ACTION",
    on_update => "NO ACTION",
    },
  • replacement in src/lib/Hydra/Schema/JobsetEvalInputs.pm at line 149
    [5.2422][5.2422:2507]()
    __PACKAGE__->belongs_to("eval", "Hydra::Schema::JobsetEvals", { id => "eval" }, {});
    [5.2422]
    [5.2507]
    __PACKAGE__->belongs_to(
    "eval",
    "Hydra::Schema::JobsetEvals",
    { id => "eval" },
    { is_deferrable => 0, on_delete => "CASCADE", on_update => "NO ACTION" },
    );
  • replacement in src/lib/Hydra/Schema/JobsetEvalInputs.pm at line 157
    [5.2509][5.2509:2651]()
    # Created by DBIx::Class::Schema::Loader v0.07014 @ 2012-04-15 16:38:10
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:PNxVBdoUNeUzf5BztiIhLw
    [5.2509]
    [5.2651]
    # Created by DBIx::Class::Schema::Loader v0.07033 @ 2013-01-22 13:29:36
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:ng+Q6tMX5EJMD7DxRWVy7Q
  • replacement in src/lib/Hydra/Schema/JobsetEvalMembers.pm at line 78
    [5.2689][5.2689:2771]()
    __PACKAGE__->belongs_to("build", "Hydra::Schema::Builds", { id => "build" }, {});
    [5.2689]
    [5.2771]
    __PACKAGE__->belongs_to(
    "build",
    "Hydra::Schema::Builds",
    { id => "build" },
    { is_deferrable => 0, on_delete => "CASCADE", on_update => "NO ACTION" },
    );
  • replacement in src/lib/Hydra/Schema/JobsetEvalMembers.pm at line 93
    [5.17113][5.17113:17198]()
    __PACKAGE__->belongs_to("eval", "Hydra::Schema::JobsetEvals", { id => "eval" }, {});
    [5.17113]
    [5.17198]
    __PACKAGE__->belongs_to(
    "eval",
    "Hydra::Schema::JobsetEvals",
    { id => "eval" },
    { is_deferrable => 0, on_delete => "CASCADE", on_update => "NO ACTION" },
    );
  • replacement in src/lib/Hydra/Schema/JobsetEvalMembers.pm at line 101
    [5.17200][5.17200:17342]()
    # Created by DBIx::Class::Schema::Loader v0.07014 @ 2011-12-05 14:15:43
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:0K4lDPUQeK04SEXS5yBbeA
    [5.17200]
    [5.2915]
    # Created by DBIx::Class::Schema::Loader v0.07033 @ 2013-01-22 13:29:36
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:EVwSR9WBqbBdIHq1ANQMHg
  • replacement in src/lib/Hydra/Schema/JobsetEvals.pm at line 130
    [5.1126][5.16748:16754]()
    {},
    [5.1126]
    [5.4247]
    { is_deferrable => 0, on_delete => "CASCADE", on_update => "CASCADE" },
  • replacement in src/lib/Hydra/Schema/JobsetEvals.pm at line 145
    [5.3017][5.3017:3023]()
    {},
    [5.3017]
    [5.3023]
    undef,
  • replacement in src/lib/Hydra/Schema/JobsetEvals.pm at line 160
    [5.4471][5.18171:18177]()
    {},
    [5.4471]
    [5.1126]
    undef,
  • replacement in src/lib/Hydra/Schema/JobsetEvals.pm at line 171
    [5.18262][5.18262:18352]()
    __PACKAGE__->belongs_to("project", "Hydra::Schema::Projects", { name => "project" }, {});
    [5.18262]
    [5.18352]
    __PACKAGE__->belongs_to(
    "project",
    "Hydra::Schema::Projects",
    { name => "project" },
    { is_deferrable => 0, on_delete => "CASCADE", on_update => "CASCADE" },
    );
  • replacement in src/lib/Hydra/Schema/JobsetEvals.pm at line 179
    [5.18354][2.760:902]()
    # Created by DBIx::Class::Schema::Loader v0.07014 @ 2012-04-15 22:30:41
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:jn81MbsAb5KZGwRpQ7qTEQ
    [5.18354]
    [5.1674]
    # Created by DBIx::Class::Schema::Loader v0.07033 @ 2013-01-22 13:29:36
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:qElGj6zzuI0xo426np3r1w
  • replacement in src/lib/Hydra/Schema/JobsetInputAlts.pm at line 108
    [5.1826][5.15812:15818]()
    {},
    [5.1826]
    [5.1826]
    { is_deferrable => 0, on_delete => "CASCADE", on_update => "CASCADE" },
  • replacement in src/lib/Hydra/Schema/JobsetInputAlts.pm at line 112
    [5.1974][5.143:285]()
    # Created by DBIx::Class::Schema::Loader v0.07014 @ 2012-04-15 12:38:16
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:M1pOjrCZ2RgULsIPZjN7sg
    [5.1974]
    [5.1974]
    # Created by DBIx::Class::Schema::Loader v0.07033 @ 2013-01-22 13:29:36
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:M3pNBRLfxgSScrPj1zaajA
  • replacement in src/lib/Hydra/Schema/JobsetInputs.pm at line 91
    [5.2231][5.17579:17585]()
    {},
    [5.2231]
    [5.2231]
    { is_deferrable => 0, on_delete => "CASCADE", on_update => "CASCADE" },
  • replacement in src/lib/Hydra/Schema/JobsetInputs.pm at line 110
    [5.2450][5.19972:19978]()
    {},
    [5.2450]
    [5.1676]
    undef,
  • replacement in src/lib/Hydra/Schema/JobsetInputs.pm at line 129
    [5.20267][5.20267:20273]()
    {},
    [5.20267]
    [5.20273]
    undef,
  • replacement in src/lib/Hydra/Schema/JobsetInputs.pm at line 133
    [5.1825][5.20278:20420]()
    # Created by DBIx::Class::Schema::Loader v0.07014 @ 2011-12-05 14:15:43
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:F/eZhnWZHATn9+O6MzuPqA
    [5.1825]
    [5.20420]
    # Created by DBIx::Class::Schema::Loader v0.07033 @ 2013-01-22 13:29:36
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:xjioYUPo6visoLAVDkDZ0Q
  • replacement in src/lib/Hydra/Schema/Jobsets.pm at line 160
    [5.2714][5.21794:21800]()
    {},
    [5.2714]
    [5.2714]
    undef,
  • replacement in src/lib/Hydra/Schema/Jobsets.pm at line 178
    [5.2863][5.21801:21807]()
    {},
    [5.2863]
    [5.2863]
    undef,
  • replacement in src/lib/Hydra/Schema/Jobsets.pm at line 196
    [5.3016][5.21925:21931]()
    {},
    [5.3016]
    [5.3016]
    undef,
  • replacement in src/lib/Hydra/Schema/Jobsets.pm at line 211
    [5.22170][5.22170:22176]()
    {},
    [5.22170]
    [5.22176]
    { is_deferrable => 0, on_delete => "NO ACTION", on_update => "NO ACTION" },
  • replacement in src/lib/Hydra/Schema/Jobsets.pm at line 229
    [5.3191][5.22302:22308]()
    {},
    [5.3191]
    [5.3191]
    undef,
  • replacement in src/lib/Hydra/Schema/Jobsets.pm at line 240
    [5.22393][5.22393:22483]()
    __PACKAGE__->belongs_to("project", "Hydra::Schema::Projects", { name => "project" }, {});
    [5.22393]
    [5.22483]
    __PACKAGE__->belongs_to(
    "project",
    "Hydra::Schema::Projects",
    { name => "project" },
    { is_deferrable => 0, on_delete => "CASCADE", on_update => "CASCADE" },
    );
  • replacement in src/lib/Hydra/Schema/Jobsets.pm at line 248
    [5.3136][5.22485:22627]()
    # Created by DBIx::Class::Schema::Loader v0.07014 @ 2011-12-05 14:15:43
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:Ikvo8+cq03DzjEUvXSqYiQ
    [5.3136]
    [5.22627]
    # Created by DBIx::Class::Schema::Loader v0.07033 @ 2013-01-22 13:29:36
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:9smV/zbSSxQNLiBcnADFXA
  • replacement in src/lib/Hydra/Schema/NewsItems.pm at line 83
    [5.3709][5.3709:3798]()
    __PACKAGE__->belongs_to("author", "Hydra::Schema::Users", { username => "author" }, {});
    [5.3709]
    [5.3798]
    __PACKAGE__->belongs_to(
    "author",
    "Hydra::Schema::Users",
    { username => "author" },
    { is_deferrable => 0, on_delete => "CASCADE", on_update => "CASCADE" },
    );
  • replacement in src/lib/Hydra/Schema/NewsItems.pm at line 91
    [5.3800][5.23099:23241]()
    # Created by DBIx::Class::Schema::Loader v0.07014 @ 2011-12-05 14:15:43
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:YRMh0QI4JezFLj7nywGu6Q
    [5.3800]
    [5.4112]
    # Created by DBIx::Class::Schema::Loader v0.07033 @ 2013-01-22 13:29:36
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:lnA5Utkwk5WTyKA/M5mlyg
  • replacement in src/lib/Hydra/Schema/ProjectMembers.pm at line 71
    [5.1280][5.1280:1370]()
    __PACKAGE__->belongs_to("project", "Hydra::Schema::Projects", { name => "project" }, {});
    [5.1280]
    [5.1370]
    __PACKAGE__->belongs_to(
    "project",
    "Hydra::Schema::Projects",
    { name => "project" },
    { is_deferrable => 0, on_delete => "CASCADE", on_update => "CASCADE" },
    );
  • replacement in src/lib/Hydra/Schema/ProjectMembers.pm at line 90
    [5.1548][5.1548:1554]()
    {},
    [5.1548]
    [5.1554]
    { is_deferrable => 0, on_delete => "CASCADE", on_update => "CASCADE" },
  • replacement in src/lib/Hydra/Schema/ProjectMembers.pm at line 94
    [5.1559][5.23600:23742]()
    # Created by DBIx::Class::Schema::Loader v0.07014 @ 2011-12-05 14:15:43
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:09p6h8c3+hRIjw3XmX15rA
    [5.1559]
    [5.1701]
    # Created by DBIx::Class::Schema::Loader v0.07033 @ 2013-01-22 13:29:36
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:zW87n6E7xWaShcFbgFkVuw
  • replacement in src/lib/Hydra/Schema/Projects.pm at line 109
    [5.4368][5.24576:24582]()
    {},
    [5.4368]
    [5.4368]
    undef,
  • replacement in src/lib/Hydra/Schema/Projects.pm at line 124
    [5.4735][5.24672:24678]()
    {},
    [5.4735]
    [5.4735]
    undef,
  • replacement in src/lib/Hydra/Schema/Projects.pm at line 139
    [5.2208][5.24796:24802]()
    {},
    [5.2208]
    [5.2208]
    undef,
  • replacement in src/lib/Hydra/Schema/Projects.pm at line 154
    [5.3537][5.24904:24910]()
    {},
    [5.3537]
    [5.3537]
    undef,
  • replacement in src/lib/Hydra/Schema/Projects.pm at line 165
    [5.24990][5.24990:25077]()
    __PACKAGE__->belongs_to("owner", "Hydra::Schema::Users", { username => "owner" }, {});
    [5.24990]
    [5.25077]
    __PACKAGE__->belongs_to(
    "owner",
    "Hydra::Schema::Users",
    { username => "owner" },
    { is_deferrable => 0, on_delete => "NO ACTION", on_update => "CASCADE" },
    );
  • replacement in src/lib/Hydra/Schema/Projects.pm at line 184
    [5.4850][5.25207:25213]()
    {},
    [5.4850]
    [5.4850]
    undef,
  • replacement in src/lib/Hydra/Schema/Projects.pm at line 199
    [5.2263][5.25343:25349]()
    {},
    [5.2263]
    [5.2263]
    undef,
  • replacement in src/lib/Hydra/Schema/Projects.pm at line 214
    [5.2372][5.25350:25356]()
    {},
    [5.2372]
    [5.2372]
    undef,
  • replacement in src/lib/Hydra/Schema/Projects.pm at line 229
    [5.2381][5.25462:25468]()
    {},
    [5.2381]
    [5.2381]
    undef,
  • replacement in src/lib/Hydra/Schema/Projects.pm at line 244
    [5.1863][5.25562:25568]()
    {},
    [5.1863]
    [5.1863]
    undef,
  • edit in src/lib/Hydra/Schema/Projects.pm at line 247
    [5.3684]
    [5.3684]
    =head2 usernames
  • replacement in src/lib/Hydra/Schema/Projects.pm at line 249
    [5.3685][5.25569:25711]()
    # Created by DBIx::Class::Schema::Loader v0.07014 @ 2011-12-05 14:15:43
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:cnheEOmK/5fCX1ui4OWPog
    [5.3685]
    [5.4514]
    Type: many_to_many
    Composing rels: L</projectmembers> -> username
    =cut
    __PACKAGE__->many_to_many("usernames", "projectmembers", "username");
    # Created by DBIx::Class::Schema::Loader v0.07033 @ 2013-01-22 13:29:36
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:OCuhmxs8pZxvmk81eVLLcQ
  • replacement in src/lib/Hydra/Schema/ReleaseMembers.pm at line 88
    [5.26331][5.26331:26413]()
    __PACKAGE__->belongs_to("build", "Hydra::Schema::Builds", { id => "build" }, {});
    [5.26331]
    [5.26413]
    __PACKAGE__->belongs_to(
    "build",
    "Hydra::Schema::Builds",
    { id => "build" },
    { is_deferrable => 0, on_delete => "NO ACTION", on_update => "NO ACTION" },
    );
  • replacement in src/lib/Hydra/Schema/ReleaseMembers.pm at line 103
    [5.22107][5.22107:22197]()
    __PACKAGE__->belongs_to("project", "Hydra::Schema::Projects", { name => "project" }, {});
    [5.22107]
    [5.22197]
    __PACKAGE__->belongs_to(
    "project",
    "Hydra::Schema::Projects",
    { name => "project" },
    { is_deferrable => 0, on_delete => "CASCADE", on_update => "CASCADE" },
    );
  • replacement in src/lib/Hydra/Schema/ReleaseMembers.pm at line 122
    [5.2853][5.22283:22289]()
    {},
    [5.2853]
    [5.2853]
    { is_deferrable => 0, on_delete => "CASCADE", on_update => "CASCADE" },
  • replacement in src/lib/Hydra/Schema/ReleaseMembers.pm at line 126
    [5.3083][5.26415:26557]()
    # Created by DBIx::Class::Schema::Loader v0.07014 @ 2011-12-05 14:15:43
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:SBMfzENPE0BjEwc2HAK7IA
    [5.3083]
    [5.22596]
    # Created by DBIx::Class::Schema::Loader v0.07033 @ 2013-01-22 13:29:36
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:eP00w5UJp1uTtiB7D5IhTQ
  • replacement in src/lib/Hydra/Schema/Releases.pm at line 84
    [5.23187][5.23187:23277]()
    __PACKAGE__->belongs_to("project", "Hydra::Schema::Projects", { name => "project" }, {});
    [5.23187]
    [5.23277]
    __PACKAGE__->belongs_to(
    "project",
    "Hydra::Schema::Projects",
    { name => "project" },
    { is_deferrable => 0, on_delete => "CASCADE", on_update => "NO ACTION" },
    );
  • replacement in src/lib/Hydra/Schema/Releases.pm at line 106
    [5.4204][5.27019:27025]()
    {},
    [5.4204]
    [5.4204]
    undef,
  • replacement in src/lib/Hydra/Schema/Releases.pm at line 110
    [5.4209][5.27026:27168]()
    # Created by DBIx::Class::Schema::Loader v0.07014 @ 2011-12-05 14:15:43
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:W6GOMPv7hc2EAdVaBOvc3A
    [5.4209]
    [5.4355]
    # Created by DBIx::Class::Schema::Loader v0.07033 @ 2013-01-22 13:29:36
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:UTUE3Hb89fT7prwnwwBgvQ
  • replacement in src/lib/Hydra/Schema/UserRoles.pm at line 74
    [5.24444][5.24444:24450]()
    {},
    [5.24444]
    [5.24450]
    { is_deferrable => 0, on_delete => "CASCADE", on_update => "CASCADE" },
  • replacement in src/lib/Hydra/Schema/UserRoles.pm at line 78
    [5.24455][5.29318:29460]()
    # Created by DBIx::Class::Schema::Loader v0.07014 @ 2011-12-05 14:15:43
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:TySGsLoTpeSuThILIXUaVg
    [5.24455]
    [5.24597]
    # Created by DBIx::Class::Schema::Loader v0.07033 @ 2013-01-22 13:29:36
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:KArPHyemtnm/siwE4x5mGQ
  • replacement in src/lib/Hydra/Schema/Users.pm at line 93
    [5.30169][5.30169:30175]()
    {},
    [5.30169]
    [5.6794]
    undef,
  • replacement in src/lib/Hydra/Schema/Users.pm at line 108
    [5.7016][5.30176:30182]()
    {},
    [5.7016]
    [5.7016]
    undef,
  • replacement in src/lib/Hydra/Schema/Users.pm at line 111
    [5.7020][5.30183:30199]()
    =head2 projects
    [5.7020]
    [5.7037]
    =head2 projects_2s
  • replacement in src/lib/Hydra/Schema/Users.pm at line 120
    [5.7128][5.30244:30258]()
    "projects",
    [5.7128]
    [5.30258]
    "projects_2s",
  • replacement in src/lib/Hydra/Schema/Users.pm at line 123
    [5.30329][5.30329:30335]()
    {},
    [5.30329]
    [5.7216]
    undef,
  • replacement in src/lib/Hydra/Schema/Users.pm at line 138
    [5.30534][5.30534:30540]()
    {},
    [5.30534]
    [5.30540]
    undef,
  • edit in src/lib/Hydra/Schema/Users.pm at line 140
    [5.30543]
    [5.30543]
    =head2 projects
    Type: many_to_many
  • edit in src/lib/Hydra/Schema/Users.pm at line 145
    [5.30544]
    [5.30544]
    Composing rels: L</projectmembers> -> project
  • replacement in src/lib/Hydra/Schema/Users.pm at line 147
    [5.30545][5.30545:30687]()
    # Created by DBIx::Class::Schema::Loader v0.07014 @ 2011-12-05 14:15:43
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:3fmr8WMAE9Dg7TKom76YIQ
    [5.30545]
    [5.7363]
    =cut
    __PACKAGE__->many_to_many("projects", "projectmembers", "project");
    # Created by DBIx::Class::Schema::Loader v0.07033 @ 2013-01-22 13:29:36
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:OAUFl/teGpfeleb6D8FPlw
  • replacement in src/lib/Hydra/Schema/ViewJobs.pm at line 119
    [5.26446][5.26446:26536]()
    __PACKAGE__->belongs_to("project", "Hydra::Schema::Projects", { name => "project" }, {});
    [5.26446]
    [5.26536]
    __PACKAGE__->belongs_to(
    "project",
    "Hydra::Schema::Projects",
    { name => "project" },
    { is_deferrable => 0, on_delete => "CASCADE", on_update => "CASCADE" },
    );
  • replacement in src/lib/Hydra/Schema/ViewJobs.pm at line 138
    [5.9124][5.26616:26622]()
    {},
    [5.9124]
    [5.6065]
    { is_deferrable => 0, on_delete => "CASCADE", on_update => "CASCADE" },
  • replacement in src/lib/Hydra/Schema/ViewJobs.pm at line 142
    [5.6213][5.31521:31663]()
    # Created by DBIx::Class::Schema::Loader v0.07014 @ 2011-12-05 14:15:43
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:U9/ovaBs9kFO3flG/MZ5uA
    [5.6213]
    [5.6213]
    # Created by DBIx::Class::Schema::Loader v0.07033 @ 2013-01-22 13:29:36
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:cbSUw113ENPypbd/sICfgg
  • replacement in src/lib/Hydra/Schema/Views.pm at line 85
    [5.27343][5.27343:27433]()
    __PACKAGE__->belongs_to("project", "Hydra::Schema::Projects", { name => "project" }, {});
    [5.27343]
    [5.27433]
    __PACKAGE__->belongs_to(
    "project",
    "Hydra::Schema::Projects",
    { name => "project" },
    { is_deferrable => 0, on_delete => "CASCADE", on_update => "CASCADE" },
    );
  • replacement in src/lib/Hydra/Schema/Views.pm at line 104
    [5.9482][5.32139:32145]()
    {},
    [5.9482]
    [5.7137]
    undef,
  • replacement in src/lib/Hydra/Schema/Views.pm at line 108
    [5.7142][5.32146:32288]()
    # Created by DBIx::Class::Schema::Loader v0.07014 @ 2011-12-05 14:15:43
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:cP9XYKw4y9QL+PDJYy9M5w
    [5.7142]
    [5.7285]
    # Created by DBIx::Class::Schema::Loader v0.07033 @ 2013-01-22 13:29:36
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:Vyd2+0RAF3XGTpq3KswfAQ
  • edit in src/lib/Hydra/View/TT.pm at line 5
    [5.6867]
    [5.6867]
    use Hydra::Helper::Nix;
    __PACKAGE__->config(
    TEMPLATE_EXTENSION => '.tt',
    expose_methods => [qw/log_exists/]);
  • replacement in src/lib/Hydra/View/TT.pm at line 11
    [5.6868][5.6868:6918]()
    __PACKAGE__->config(TEMPLATE_EXTENSION => '.tt');
    [5.6868]
    [5.6918]
    sub log_exists {
    my ($self, $c, $drvPath) = @_;
    my $x = getDrvLogPath($drvPath);
    return defined $x;
    }
  • replacement in src/root/build.tt at line 19
    [4.3530][4.3530:3787]()
    [% log = c.uri_for('/build' build.id 'nixlog' step.stepnr) %]
    <tr class="[% IF step.logfile %]clickable[% END %]"
    [% IF step.logfile %] onclick="window.location = '[% log %]'" [% END %]>
    [4.3530]
    [4.3787]
    [% has_log = log_exists(step.drvpath);
    log = c.uri_for('/build' build.id 'nixlog' step.stepnr); -%]
    <tr [% IF has_log %] class="clickable" onclick="window.location = '[% log %]'" [% END %]>
  • replacement in src/root/build.tt at line 54
    [4.5356][4.5356:5404]()
    [% IF step.logfile %]
    [4.5356]
    [4.5404]
    [% IF has_log %]
  • replacement in src/root/build.tt at line 127
    [4.8870][4.8870:8927]()
    [% IF build.logfile %]
    [4.8870]
    [4.8927]
    [% IF log_exists(build.drvpath) %]
  • replacement in src/root/build.tt at line 131
    [4.9073][4.9073:9210]()
    <a class="btn btn-mini btn-primary" href="[% c.uri_for('/build' build.id 'log') %]">pretty</a>
    [4.9073]
    [4.9210]
    <a class="btn btn-mini" href="[% c.uri_for('/build' build.id 'log') %]">pretty</a>
  • edit in src/root/build.tt at line 211
    [4.10976]
    [4.10976]
  • edit in src/root/build.tt at line 214
    [4.11046][4.11046:11047]()
  • replacement in src/root/build.tt at line 278
    [4.13869][4.13869:14009]()
    <td>[% IF build.maintainers %]<tt>[% HTML.escape(build.maintainers) %]</tt>[% ELSE %]<em>(not given)</em>[% END %]</td>
    [4.13869]
    [4.14009]
    <td>[% IF build.maintainers %][% HTML.escape(build.maintainers) %][% ELSE %]<em>(not given)</em>[% END %]</td>
  • edit in src/root/build.tt at line 285
    [4.14197][4.14197:14370]()
    <th>Max silent / timeout:</th>
    <td>[% build.maxsilent %]s / [% build.timeout %]s</td>
    </tr>
    <tr>
  • edit in src/root/build.tt at line 321
    [4.15870][4.15870:15871]()
  • edit in src/root/build.tt at line 329
    [4.16372][4.16372:17322]()
    <tr>
    <th>Duration:</th>
    <td>
    [% IF build.iscachedbuild %]
    <em>(cached build)</em>
    [% ELSE %]
    [% INCLUDE renderDuration duration = build.stoptime - build.starttime %]
    [% END %]
    </td>
    </tr>
    [% IF build.logfile %]
    <tr>
    <th>Logfile:</th>
    <td>
    <a href="[% c.uri_for('/build' build.id 'log') %]"><strong>Available</strong></a>
    (<a href="[% c.uri_for('/build' build.id 'log' 'raw') %]">raw</a>,
    <a href="[% c.uri_for('/build' build.id 'log' 'tail-reload') %]">tail</a>)
    </td>
    </tr>
    [% END %]
  • replacement in src/root/build.tt at line 384
    [5.1175][5.1979:2118]()
    <h3>Changes since previous build : [% INCLUDE renderFullBuildLink build=prevBuild, hideProjectName=1, hideJobsetName=1 %]</h3>
    [5.1175]
    [5.1277]
    <h3>Changes since previous build: [% INCLUDE renderFullBuildLink build=prevBuild, hideProjectName=1, hideJobsetName=1 %]</h3>
  • replacement in src/script/hydra-build at line 159
    [5.24][5.961:1020]()
    my $logtext = logContents($build->logfile, $loglines);
    [5.24]
    [5.205]
    my $logtext = logContents($build->drvpath, $loglines);
  • edit in src/script/hydra-build at line 270
    [5.2082][5.5774:5814](),[5.5774][5.5774:5814]()
    , logfile => $4
  • edit in src/script/hydra-build at line 316
    [5.3235][5.465:532]()
    , logfile => getBuildLog($drvPathStep)
  • edit in src/script/hydra-build at line 377
    [5.4981][5.1101:1142](),[5.1142][5.4020:4021](),[5.1409][5.4020:4021](),[5.4981][5.4020:4021](),[5.4020][5.4020:4021](),[5.4021][5.325:388](),[5.388][5.1532:1533](),[5.1532][5.1532:1533]()
    my $logfile = getBuildLog($drvPath);
    my $logsize = defined $logfile ? stat($logfile)->size : 0;
  • edit in src/script/hydra-build at line 406
    [5.4537][5.1711:1779]()
    , logfile => $logfile
    , logsize => $logsize
  • replacement in src/script/hydra-queue-runner at line 43
    [5.301][5.6891:6992]()
    $build->busy(0);
    $build->locker("");
    $build->update;
    [5.301]
    [5.589]
    $build->update({ busy => 0, locker => ""});
  • replacement in src/script/hydra-queue-runner at line 64
    [5.205][5.205:287](),[5.287][5.6993:7033]()
    { drvpath => [ @drvs ], finished => 0, busy => 0, enabled => 1, disabled => 0 },
    { join => ['project'], rows => 1 } ) ;
    [5.205]
    [5.345]
    { drvpath => [ @drvs ], finished => 0, busy => 0, enabled => 1, disabled => 0 },
    { join => ['project'], rows => 1 } ) ;
  • replacement in src/script/hydra-queue-runner at line 114
    [5.94][5.7292:7477]()
    $build->busy(1);
    $build->locker($$);
    $build->logfile($logfile);
    $build->starttime(time);
    $build->update;
    [5.94]
    [5.1104]
    $build->update(
    { busy => 1
    , locker => $$
    , logfile => $logfile
    , starttime => time()
    });
  • edit in src/sql/hydra.sql at line 181
    [4.37618][5.11191:11217](),[5.9990][5.11191:11217]()
    logSize bigint,
  • edit in src/sql/hydra.sql at line 203
    [5.7341][5.7341:7366]()
    logfile text,