Check all inputs for blame but only email selected inputs

[?]
Oct 8, 2013, 6:47 PM
K3HODXGHZ47WWSTEKUFCAPRJYCM564XF6YVE2QM37HPR5RQMFCWQC

Dependencies

  • [2] IWXLV4OB Add DB columns for when to notify responsible committers and which inputs should be checked
  • [3] KQAQ4FIF Update Schema classes
  • [4] KHYZVPBR Propagate checkresponsible from JobsetInput to BuildInput
  • [5] OGLMBJSC Enable setting emailresponsible in the edit jobset form
  • [6] RQI3GRC6 Enable setting checkresponsible in the edit jobset form
  • [7] GHV65OPH getResponsibleAuthors: Respect checkResponsible
  • [8] SRRNCD4W Email responsible authors if requested
  • [9] 3XTHEUMP * Implemented the clone feature.
  • [10] QTFVCDIF added hide feature for project/jobset
  • [11] KN3VYE5P * Cleaned up the foreign key constraints.
  • [12] ODNCGFQ5 * Improved the navigation bar: don't include all projects (since that
  • [13] SB2V735V Keep track of the database schema version
  • [14] SJLEZFC4 check getHydraPath in stead of Envvar HYDRA_DBI directly
  • [15] 4FWDVNWA Pass additional attributes for Git inputs
  • [16] TQVKZQUG Use the REST API in the web interface for editing jobsets
  • [17] PCKLFRT5 Support push notification of repository changes
  • [18] BEFHUCGN Factor a getResponsibleAuthors helper out of the HipChatNotification
  • [19] 5EQYVRWE Add a plugin mechanism
  • [20] LBNVQXUB * Build the /build stuff in a separate controller.
  • [21] CS7T2XFI
  • [22] PGSSRA7C Add an input type "nix" for passing arbitrary Nix expressions
  • [23] JTRG7RDQ add support for git as jobinput
  • [24] RFE6T5LG * Store jobset evaluations in the database explicitly. This includes
  • [25] GEADFVZ5 hydra-queue-runner: Improved scheduling
  • [26] 4D4U5IPY * Allow jobsets to be disabled.
  • [27] LZVO64YG Merge in the first bits of the API work
  • [28] ZCTQCN3E Use inputTypes from plugins to determine valid input types
  • [29] N5AS7EKY Include who-broke-the-build information in notification emails
  • [30] 67P45PY4
  • [31] PHX2HIVG * Store info about the build inputs in the build record.
  • [32] X27GNHDV * Basic job info in the database.
  • [33] M552HLIA * Support variant builds.
  • [34] SS4TZXNU Distinguish between permanent evaluation errors and transient input errors
  • [35] P5X4P6VK * Renaming "release sets" to "views" (not finished yet). Having
  • [36] 2G63HKCH Fix some wellformedness issues
  • [37] QEC5HR4R Always record inputs passed through -I in the BuildInputs table
  • [38] OX6NYJDV Split viewing and editing a jobset
  • [39] P5XCKTFD Fix sysbuild input type handling
  • [40] AMI4DGBK Don't trigger evaluation of disabled jobsets
  • [41] POPU2ATH * hydra_scheduler: use eval-jobs.
  • [42] S6OISBQ3 * Mark the "current" builds in a jobset, i.e. those corresponding to
  • [43] GWCV3TQV * BuildInputs table: link to dependencies, include store paths.
  • [44] Y6AHH4TH Remove the logfile and logSize columns from the database
  • [45] FGQPXZIX hydra: make nr of build to keep configurable per jobset
  • [46] VJFLX7B6 Fix rendering of jobset inputs
  • [47] 3HCBU2FA
  • [48] JM3DPYOM generated schema with new dbix class schema loader, grrrrrr
  • [49] 7ZSVXUGF sequence fix for postgresql
  • [50] FYO6NECE hydra
  • [51] 2WRTOU2Z Cleanup
  • [52] UMFB2767 Hydra/64: Leaving number of builds empty gives DBIx error
  • [53] 2NGV7NYN Drop unused "tag" column
  • [54] AHTEIK7G * Added a maintainers field to the Builds table.
  • [55] RBNQKATL * Adding persistant releases. A release is a named set of builds.
  • [56] QDJRQIFF If multiple dependent builds fail, send a single email
  • [57] JAH3UPWA Support revision control systems via plugins
  • [58] QLOLZHRX Allow a per-jobset check interval
  • [*] 3HZY24CX * Make jobsets viewable under
  • [*] OOQ2D3KC * Refactoring: move fetchInput out of hydra_scheduler into a separate
  • [*] N22GPKYT * Put info about logs / build products in the DB.

Change contents

  • edit in src/lib/Hydra/Controller/Jobset.pm at line 209
    [9.11911][5.0:86]()
    , emailresponsible => defined $c->stash->{params}->{emailresponsible} ? 1 : 0
  • replacement in src/lib/Hydra/Controller/Jobset.pm at line 234
    [6.114][6.114:208]()
    checkresponsible => $c->stash->{params}->{"input-$baseName-checkresponsible"}
    [6.114]
    [6.208]
    emailresponsible => defined $c->stash->{params}->{"input-$baseName-emailresponsible"} ? 1 : 0
  • replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 151
    [9.2221][4.0:89]()
    my ($plugins, $db, $project, $jobset, $name, $type, $value, $checkresponsbile) = @_;
    [9.2221]
    [9.0]
    my ($plugins, $db, $project, $jobset, $name, $type, $value, $emailresponsible) = @_;
  • replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 182
    [4.156][4.156:212]()
    $input->{checkresponsible} = $checkresponsible;
    [4.156]
    [4.212]
    $input->{emailresponsible} = $emailresponsible;
  • replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 548
    [9.6764][4.219:284]()
    , checkresponsible => $input->{checkresponsible}
    [9.6764]
    [9.6764]
    , emailresponsible => $input->{emailresponsible}
  • edit in src/lib/Hydra/Helper/CatalystUtils.pm at line 262
    [9.216]
    [9.216]
    my @emailable_authors;
  • replacement in src/lib/Hydra/Helper/CatalystUtils.pm at line 266
    [9.299][7.0:112]()
    next unless (($curInput->type eq "git" || $curInput->type eq "hg") && $curInput->checkresponsible);
    [9.299]
    [9.378]
    next unless ($curInput->type eq "git" || $curInput->type eq "hg");
  • edit in src/lib/Hydra/Helper/CatalystUtils.pm at line 282
    [9.1098]
    [9.1098]
    push @emailable_authors, $commit->{email} if $curInput->emailresponsible;
  • replacement in src/lib/Hydra/Helper/CatalystUtils.pm at line 288
    [9.1159][9.1159:1195]()
    return (\%authors, $nrCommits);
    [9.1159]
    [9.1195]
    return (\%authors, $nrCommits, \@emailable_authors);
  • replacement in src/lib/Hydra/Plugin/EmailNotification.pm at line 82
    [9.147][9.147:228]()
    my ($authors, $nrCommits) = getResponsibleAuthors($build, $self->{plugins});
    [9.147]
    [9.228]
    my ($authors, $nrCommits, $emailable_authors) = getResponsibleAuthors($build, $self->{plugins});
  • replacement in src/lib/Hydra/Plugin/EmailNotification.pm at line 87
    [9.454][8.0:152]()
    if ($build->jobset->emailresponsible) {
    $addresses{$authors->{$_}} = { builds => [ $build ] } foreach (keys %{$authors});
    }
    [9.454]
    [9.1725]
    $addresses{$_} = { builds => [ $build ] } foreach (@{$emailable_authors});
  • replacement in src/lib/Hydra/Schema/BuildInputs.pm at line 75
    [3.1][3.1:25]()
    =head2 checkresponsible
    [3.1]
    [3.25]
    =head2 emailresponsible
  • replacement in src/lib/Hydra/Schema/BuildInputs.pm at line 114
    [9.747][3.86:108]()
    "checkresponsible",
    [9.747]
    [3.108]
    "emailresponsible",
  • replacement in src/lib/Hydra/Schema/BuildInputs.pm at line 179
    [9.25][3.177:319]()
    # Created by DBIx::Class::Schema::Loader v0.07033 @ 2013-10-07 14:04:49
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:ks8PxHXTwtG+Zco0CAzECg
    [9.25]
    [9.151]
    # Created by DBIx::Class::Schema::Loader v0.07033 @ 2013-10-08 13:08:15
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:OaJPzRM+8XGsu3eIkqeYEw
  • replacement in src/lib/Hydra/Schema/JobsetInputs.pm at line 60
    [3.338][3.338:362]()
    =head2 checkresponsible
    [3.338]
    [3.362]
    =head2 emailresponsible
  • replacement in src/lib/Hydra/Schema/JobsetInputs.pm at line 77
    [9.19798][3.406:428]()
    "checkresponsible",
    [9.19798]
    [3.428]
    "emailresponsible",
  • replacement in src/lib/Hydra/Schema/JobsetInputs.pm at line 153
    [9.1825][3.497:639]()
    # Created by DBIx::Class::Schema::Loader v0.07033 @ 2013-10-07 14:04:49
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:OvSrNdXWqco666sy+rvsKw
    [9.1825]
    [9.20420]
    # Created by DBIx::Class::Schema::Loader v0.07033 @ 2013-10-08 13:06:15
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:+mZZqLjQNwblb/EWW1alLQ
  • edit in src/lib/Hydra/Schema/Jobsets.pm at line 96
    [9.18871][3.640:725]()
    is_nullable: 0
    =head2 emailresponsible
    data_type: 'integer'
    default_value: 0
  • edit in src/lib/Hydra/Schema/Jobsets.pm at line 157
    [9.21368][3.726:816]()
    "emailresponsible",
    { data_type => "integer", default_value => 0, is_nullable => 0 },
  • replacement in src/lib/Hydra/Schema/Jobsets.pm at line 290
    [9.3136][3.817:959]()
    # Created by DBIx::Class::Schema::Loader v0.07033 @ 2013-10-07 14:04:49
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:hJ41oHEb9PjzluvL7f/ypw
    [9.3136]
    [9.22627]
    # Created by DBIx::Class::Schema::Loader v0.07033 @ 2013-10-08 13:06:15
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:BjT60mlrN7bnljqCMHbPEw
  • replacement in src/root/edit-jobset.tt at line 29
    [6.244][6.244:409]()
    <input type="checkbox" id="[% baseName %]-checkresponsible" name="[% baseName %]-checkresponsible" [% if input.checkresponsible; 'checked="checked"'; END %]/>
    [6.244]
    [9.1668]
    <input type="checkbox" id="[% baseName %]-emailresponsible" name="[% baseName %]-emailresponsible" [% IF input.emailresponsible; 'checked="checked"'; END %]/>
  • replacement in src/root/edit-jobset.tt at line 37
    [9.1788][6.410:507]()
    <tr><th>Input name</th><th>Type</th><th>Values</th><th>Check for responsible commits?</tr>
    [9.1788]
    [9.1851]
    <tr><th>Input name</th><th>Type</th><th>Values</th><th>Notify committers</th></tr>
  • edit in src/root/edit-jobset.tt at line 117
    [9.2058][5.87:396]()
    </label>
    </div>
    </div>
    <div class="control-group">
    <div class="controls">
    <label class="checkbox">
    <input type="checkbox" name="emailresponsible" [% IF jobset.emailresponsible; 'checked="checked"'; END %]/>Notify responsible committers when build status changes
  • replacement in src/root/edit-jobset.tt at line 162
    [9.2399][6.684:774]()
    $("#input-template-checkresponsible", x).attr("name", newid + "-checkresponsible");
    [9.2399]
    [9.2399]
    $("#input-template-emailresponsible", x).attr("name", newid + "-emailresponsible");
  • replacement in src/script/hydra-evaluator at line 37
    [9.19996][4.285:422]()
    foreach fetchInput($plugins, $db, $project, $jobset, $input->name, $input->type, $alt->value, $input->checkresponsible);
    [9.19996]
    [9.722]
    foreach fetchInput($plugins, $db, $project, $jobset, $input->name, $input->type, $alt->value, $input->emailresponsible);
  • edit in src/sql/hydra.sql at line 60
    [9.5135][2.0:111]()
    emailResponsible integer not null default 0, -- whether to email committers responsible for a build change
  • replacement in src/sql/hydra.sql at line 80
    [9.1130][2.112:225]()
    checkResponsible integer not null default 0, -- whether this input should be checked for responsbile commits
    [9.1130]
    [9.5943]
    emailResponsible integer not null default 0, -- whether to email committers to this input who change a build
  • replacement in src/sql/hydra.sql at line 261
    [9.3876][2.226:275]()
    checkResponsible integer not null default 0,
    [9.3876]
    [9.4979]
    emailResponsible integer not null default 0,
  • replacement in src/sql/upgrade-23.sql at line 1
    [2.277][2.278:515]()
    alter table Jobsets add column emailResponsible integer not null default 0;
    alter table JobsetInputs add column checkResponsible integer not null default 0;
    alter table BuildInputs add column checkResponsible integer not null default 0;
    [2.277]
    alter table JobsetInputs add column emailResponsible integer not null default 0;
    alter table BuildInputs add column emailResponsible integer not null default 0;