Add an input type "nix" for passing arbitrary Nix expressions

[?]
Sep 30, 2013, 10:03 AM
PGSSRA7CPOQI354Y6YJTYRFF57YJARB5THFE3MBJBVHOLYNEIGTQC

Dependencies

  • [2] W74RIXTJ Show inputs and input changes on the jobset eval page
  • [3] HZWUT4YN Allow users to reproduce builds on their own systems
  • [4] JAH3UPWA Support revision control systems via plugins
  • [5] FXW2UR7F initial bzr support
  • [6] ZI535LI6 * hydra: 'new' UI for project/jobset/job/build
  • [7] GEADFVZ5 hydra-queue-runner: Improved scheduling
  • [8] GZ66LVO2 Don't do <tt> on input type
  • [9] SS4TZXNU Distinguish between permanent evaluation errors and transient input errors
  • [10] OOQ2D3KC * Refactoring: move fetchInput out of hydra_scheduler into a separate
  • [11] KN3VYE5P * Cleaned up the foreign key constraints.
  • [12] JTRG7RDQ add support for git as jobinput
  • [13] FYO6NECE hydra
  • [14] QLOLZHRX Allow a per-jobset check interval
  • [15] INNOEHO6 * Fix getBuildLog for bzip2'd files.
  • [16] 2WRTOU2Z Cleanup
  • [17] VOBOLKL4 missing case for hg input type
  • [18] 2NGV7NYN Drop unused "tag" column
  • [19] P5XCKTFD Fix sysbuild input type handling
  • [20] 4WZQW2N6 Fix indentation and get rid of some unnecessary whitespace in the output
  • [21] 3G7OYUSE reproduce.tt: Check for the presence of commands like nix-build
  • [22] 3PNG7NIB Remove trailing whitespace
  • [23] FGQPXZIX hydra: make nr of build to keep configurable per jobset
  • [*] J5UVLXOK * Start of a basic Catalyst web interface.
  • [*] 3XTHEUMP * Implemented the clone feature.
  • [*] IK53RV4V
  • [*] N22GPKYT * Put info about logs / build products in the DB.

Change contents

  • edit in src/lib/Hydra/Controller/Root.pm at line 36
    [4.399]
    [4.399]
    'nix' => 'Nix expression',
  • replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 160
    [5.311][5.10019:10051](),[5.2703][5.10019:10051](),[5.10019][5.10019:10051]()
    elsif ($type eq "string") {
    [5.2597]
    [5.10051]
    elsif ($type eq "string" || $type eq "nix") {
  • edit in src/lib/Hydra/Helper/AddBuilds.pm at line 244
    [26.1790]
    [4.1475]
    when ("nix") {
    push @res, "--arg", $input, $alt->{value};
    }
  • replacement in src/root/common.tt at line 250
    [5.5421][5.5421:5518]()
    [% ELSIF input.type == "string" || input.type == "boolean" %]
    <tt>"[% input.value %]"</tt>
    [5.5421]
    [5.5518]
    [% ELSIF input.type == "string" %]
    <tt>"[% HTML.escape(input.value) %]"</tt>
    [% ELSIF input.type == "nix" || input.type == "boolean" %]
    <tt>[% HTML.escape(input.value) %]</tt>
  • replacement in src/root/common.tt at line 255
    [5.5531][5.5531:5616]()
    <tt>[% input.uri %][% IF input.revision %] (r[% input.revision %])[% END %]</tt>
    [5.5531]
    [5.21438]
    <tt>[% HTML.escape(input.uri) %][% IF input.revision %] (r[% HTML.escape(input.revision) %])[% END %]</tt>
  • replacement in src/root/common.tt at line 297
    [2.905][2.905:1022]()
    [% ELSIF input.type == "string" || input.type == "boolean" %]
    <tt>"[% input.value %]"</tt>
    [2.905]
    [2.1022]
    [% ELSIF input.type == "string" %]
    <tt>"[% HTML.escape(input.value) %]"</tt>
    [% ELSIF input.type == "nix" || input.type == "boolean" %]
    <tt>[% HTML.escape(input.value) %]</tt>
  • replacement in src/root/common.tt at line 302
    [2.1045][2.1045:1084]()
    <tt>[% input.uri %]</tt>
    [2.1045]
    [2.1084]
    <tt>[% HTML.escape(input.uri) %]</tt>
  • replacement in src/root/common.tt at line 305
    [2.1122][2.1122:1194]()
    <td>[% IF input.revision %][% input.revision %][% END %]</td>
    [2.1122]
    [2.1194]
    <td>[% IF input.revision %][% HTML.escape(input.revision) %][% END %]</td>
  • replacement in src/root/reproduce.tt at line 144
    [3.2690][3.2690:2745]()
    args+=(--arg '[% input.name %]' '"[% input.value %]"')
    [3.2690]
    [3.2745]
    args+=(--arg '[% input.name %]' '"[% input.value %]"') # FIXME: escape
  • edit in src/root/reproduce.tt at line 149
    [3.2836]
    [3.2836]
    [% ELSIF input.type == "nix" %]
    args+=(--arg '[% input.name %]' '[% input.value %]') # FIXME: escape
  • replacement in src/sql/hydra.sql at line 79
    [5.5858][5.286:364]()
    type text not null, -- "svn", "path", "uri", "string", "boolean"
    [5.5858]
    [5.5943]
    type text not null, -- "svn", "path", "uri", "string", "boolean", "nix"