* Store the name of the machine that performed a build step in the

[?]
Aug 31, 2010, 2:08 PM
GAIBDEZZPZ52ASD3GK3WUYG3NOB27MLQ5GGIGKLAD6JQ4UATTT3AC

Dependencies

  • [2] JM3DPYOM generated schema with new dbix class schema loader, grrrrrr
  • [3] FHAVPTZ6 Hydra/23: added some X-headers with meta info in email notifications, added more descriptive status
  • [4] V4RNHJNR * Add a link to each project's homepage. Suggested by karltk.
  • [5] 3HCBU2FA
  • [6] YTZOC7C5 * Editing of jobset inputs.
  • [7] YAPITGB3 * Boolean inputs.
  • [8] P5X4P6VK * Renaming "release sets" to "views" (not finished yet). Having
  • [9] FHF6IZJQ * Basic release management: releases are now dynamically computed as
  • [10] 6JGCGK5X
  • [11] LBNVQXUB * Build the /build stuff in a separate controller.
  • [12] OD5FSS5A * Quick hack to allow viewing of dependency graphs (via nix-store -q
  • [13] LCKWLQW3 * In Sqlite "release" is now a keyword, so use "release_" instead.
  • [14] AHTEIK7G * Added a maintainers field to the Builds table.
  • [15] OG7BEM57
  • [16] YTSIRIMK * Separate job status and all builds pages.
  • [17] 4D4U5IPY * Allow jobsets to be disabled.
  • [18] A52HEFHQ * Allow builds to be restarted (if they failed with a transient error,
  • [19] ZVTSOVHN * Support Subversion checkouts.
  • [20] GNIEG2GC * Disambiguate jobs by jobset name. I.e. jobs with the same name in
  • [21] CMU3YKOU * Store the release name.
  • [22] B72GLND4
  • [23] 3E6IP3R3 * Add the name of the jobset to ReleaseSetJobs, otherwise we can't
  • [24] R5D7DZPE
  • [25] KN3VYE5P * Cleaned up the foreign key constraints.
  • [26] D3DIBMOK * For products that are directories (like manuals), allow a default
  • [27] KOTB7BKV
  • [28] ZILILXXK * Allow scheduled builds to be cancelled. They're not removed from
  • [29] 37R34XJO * Negative caching: don't perform a build if a dependency already
  • [30] CLJQCY2X * Store info about all the build actions and allow them to be
  • [31] 6F4UNDTC * Provide access to the raw, non-pretty-printed logfiles.
  • [32] HB3OHPJL hydra: in case of cached build, add link to build that built the storepath
  • [33] IK53RV4V
  • [34] TLZ2SPBR
  • [35] EYNG4EL4 * Regenerate the bindings from a clean sqlite database.
  • [36] H7CNGK4O * Log evaluation errors etc. in the DB.
  • [37] 3ZCEPLNO
  • [38] S5PV6IIM * Represent jobs explicitly in the DB.
  • [39] BHZXGT2H * Channels: provide an index page that lists all the packages in the
  • [40] SHBLLAVH * More global substitution.
  • [41] VJHIHMEH * Store the meta.longDescription and meta.license attributes in the
  • [42] ECBA3GQO * Make the schema class names match the case of the SQL table names.
  • [43] JTRG7RDQ add support for git as jobinput
  • [44] RU7AQO7U * Role-based access control. Only admins can create projects. Only
  • [45] J5UVLXOK * Start of a basic Catalyst web interface.
  • [46] TQKGQ5R3
  • [47] BD3GRK4B * Get rid of "positive failures" and separate log phases.
  • [48] TWVSALRL * Allow the maximum number of concurrent builds per platform to be
  • [49] S6OISBQ3 * Mark the "current" builds in a jobset, i.e. those corresponding to
  • [50] 6BLUKEQ2 * Caching of "path" inputs, and fake a revision number for those.
  • [51] KA45EBF5 * Send email if a build fails.
  • [52] RBNQKATL * Adding persistant releases. A release is a named set of builds.
  • [53] BEKA3TMM Hydra/25: At job pages, show the hash of the output
  • [54] MRVTLC76
  • [55] S66BOMVU * Added authentication.
  • [*] 7YBYT2LQ
  • [*] AS5PAYLI
  • [*] N22GPKYT * Put info about logs / build products in the DB.

Change contents

  • replacement in src/lib/Hydra/Controller/Build.pm at line 48
    [4.1058][4.0:62]()
    $c->stash->{logtext} = `cat $logfile` if -e $logfile;
    [4.1058]
    [4.0]
    $c->stash->{logtext} = `cat $logfile` if defined $logfile && -e $logfile;
  • edit in src/lib/Hydra/Schema/BuildSteps.pm at line 99
    [2.6659]
    [2.6659]
    =head2 machine
  • edit in src/lib/Hydra/Schema/BuildSteps.pm at line 102
    [2.6660]
    [2.6660]
    data_type: text
    default_value: ''
    is_nullable: 0
    size: undef
  • edit in src/lib/Hydra/Schema/BuildSteps.pm at line 188
    [4.6998]
    [4.2685]
    "machine",
    { data_type => "text", default_value => "''", is_nullable => 0, size => undef },
  • replacement in src/lib/Hydra/Schema/BuildSteps.pm at line 206
    [4.2959][2.6849:6991]()
    # Created by DBIx::Class::Schema::Loader v0.05003 @ 2010-02-25 10:29:41
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:233eydU0CA3zcJpwDrtwwA
    [4.2959]
    [4.2959]
    # Created by DBIx::Class::Schema::Loader v0.05000 @ 2010-08-31 15:40:29
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:CC/XBHMiRLuQSI+nEFW50g
  • replacement in src/root/log.tt at line 4
    [4.11832][4.1069:1194]()
    <h1>Logfile for [% INCLUDE renderFullJobNameOfBuild %] build [% build.id %][%IF step %] step [% step.stepnr %][% END %]</h1>
    [4.11832]
    [4.1194]
    <h1>Build log of [% INCLUDE renderFullJobNameOfBuild %] build <a href="[% c.uri_for('/build' build.id) %]">[% build.id %]</a>[%IF step %] step [% step.stepnr %][% END %]</h1>
  • replacement in src/root/log.tt at line 6
    [4.1195][4.1195:1339]()
    <p>Below is the logfile of the <a href="[% c.uri_for('/build' build.id) %]">build</a> producing Nix store path <tt>[% step.outpath %]</tt>.</p>
    [4.1195]
    [4.11895]
    <p>
    This is the build log of path <tt>[% IF step; step.outpath; ELSE; build.outpath; END %]</tt>.
    [% IF step && step.machine %]
    It was built on <tt>[% step.machine %]</tt>.
    [% END %]
    </p>
  • replacement in src/script/hydra_build.pl at line 205
    [4.846][3.988:1009]()
    sendmail($email);
    [4.846]
    [4.868]
    sendmail($email);
  • edit in src/script/hydra_build.pl at line 274
    [4.5925]
    [58.423]
    elsif (/^@\s+build-remote\s+(\S+)\s+(\S+)$/) {
    my $drvPathStep = $1;
    my $machine = $2;
    txn_do($db, sub {
    my $step = $build->buildsteps->find({stepnr => $buildSteps{$drvPathStep}}) or die;
    $step->update({machine => $machine});
    });
    }
  • edit in src/sql/hydra.sql at line 237
    [4.7556]
    [4.7556]
    machine text not null default '',