jobsetevals: refer to jobset by ID

[?]
Jan 25, 2021, 7:51 PM
BMGYDRNKCMHZDQLDS4NQNC24AVMNW2QGVBAUZ5X6CNOEU3ZOIIGAC

Dependencies

  • [2] OCUNY4XB JobsetEvals: noop: re-run the generator to update the order of fields
  • [3] N74SRHS6 Remove the "releases" feature
  • [4] RFE6T5LG * Store jobset evaluations in the database explicitly. This includes
  • [5] ZWCTAZGL added newsitems, added some admin options to clear various caches.
  • [6] P5X4P6VK * Renaming "release sets" to "views" (not finished yet). Having
  • [7] 5SHCWE7X * Prevent repeated evaluation of a jobset with the same inputs. This
  • [8] LZVO64YG Merge in the first bits of the API work
  • [9] KSBB33RE Add a dashboard
  • [10] QLOLZHRX Allow a per-jobset check interval
  • [11] MQYHIUEE Cleanup eval serialization
  • [12] W4G5MZZS hydra-evaluator improvements
  • [13] W5OAZWPD Drop the errorMsg column in the Jobs table
  • [14] BXHG3HYL When renaming a jobset, add a redirect from the old name
  • [15] BQHDSG6O Merge remote-tracking branch 'origin/master' into flake
  • [16] JM3DPYOM generated schema with new dbix class schema loader, grrrrrr
  • [17] KN3VYE5P * Cleaned up the foreign key constraints.
  • [18] T5BIOVJE Add support for tracking custom metrics
  • [19] SB2V735V Keep track of the database schema version
  • [20] AZCCANUB Missing part of aaacf9eda36f5cdcc77cec20d6f49fbb6f925105
  • [21] KPZNJ33U * In views, support selecting a job that doesn't depend on the
  • [22] 3PNG7NIB Remove trailing whitespace
  • [23] X27GNHDV * Basic job info in the database.
  • [24] MWXDVTS3 Copy the flake migration from the flake branch
  • [25] PCD3ZH6Z Partially revert 1c20cfdf2403feb78cef515faf15c04d5c9f17bd
  • [26] K3HODXGH Check all inputs for blame but only email selected inputs
  • [27] PCKLFRT5 Support push notification of repository changes
  • [28] GEADFVZ5 hydra-queue-runner: Improved scheduling
  • [29] KQAQ4FIF Update Schema classes
  • [30] B7ENVLRS hydra-queue-runner: Make build notification more reliable
  • [31] FZR7ET5D Jobsets: add a SERIAL, unique, non-null id column
  • [32] 6WRGCITD Enable declarative projects.
  • [33] QUMWPGCU Add flake configuration to the web interface
  • [34] Y6AHH4TH Remove the logfile and logSize columns from the database
  • [35] SS4TZXNU Distinguish between permanent evaluation errors and transient input errors
  • [36] SIDK2E7V Jobs: add a nullable jobset_id foreign key to Jobsets.
  • [37] G2T4WAHI Store the inputs of each evaluation in the database
  • [38] RBNQKATL * Adding persistant releases. A release is a named set of builds.
  • [39] TJK27WSB Open the DB using Hydra::Model::DB->new
  • [40] DH3KNBAV Merge remote-tracking branch 'upstream/who-broke-builds' into upstream-master
  • [41] SJPEC375 Builds: add a nullable jobset_id foreign key to Jobsets.
  • [42] S5PV6IIM * Represent jobs explicitly in the DB.
  • [43] MB5INTIQ Normalize nixexpr{input,path} from builds to jobsetevals.
  • [44] 7ECJWNVX Cleanup Project model
  • [45] FHF6IZJQ * Basic release management: releases are now dynamically computed as
  • [46] YU6CND7C Remove support for views
  • [47] CHJANKMM IndexJobsetEvalsOnJobsetId: Only index jobsets with new builds
  • [48] SVDYZSZC Schema: add errorMsg, errorTime to JobsetEvals
  • [49] FYO6NECE hydra
  • [50] CCIORPJ5 When manually scheduling an eval, force re-instantiation of store derivations
  • [51] RXVJFQ5A Evaluator cleanups
  • [52] YF3HTIPF Use partial indexes
  • [53] NZXX6PLD Remove the Jobs table
  • [54] SW7STLQ7 Cache flake-based jobset evaluations
  • [55] IGR322YP sql: Generate models from postgresql
  • [*] N22GPKYT * Put info about logs / build products in the DB.
  • [*] D5QIOJGP * Move everything up one directory.

Change contents

  • replacement in src/lib/Hydra/Schema/JobsetEvals.pm at line 45
    [3.3306][3.16067:16082](),[3.16067][3.16067:16082]()
    =head2 project
    [3.3306]
    [3.16082]
    =head2 jobset_id
  • replacement in src/lib/Hydra/Schema/JobsetEvals.pm at line 47
    [3.16083][3.17456:17476]()
    data_type: 'text'
    [3.16083]
    [3.16124]
    data_type: 'integer'
  • edit in src/lib/Hydra/Schema/JobsetEvals.pm at line 51
    [3.16176][3.16176:16191](),[3.16191][3.17477:17497](),[3.17497][3.16232:16269](),[3.16232][3.16232:16269](),[3.16269][3.0:1]()
    =head2 jobset
    data_type: 'text'
    is_foreign_key: 1
    is_nullable: 0
  • replacement in src/lib/Hydra/Schema/JobsetEvals.pm at line 121
    [3.3787][3.352:365](),[3.4689][3.352:365](),[3.17687][3.352:365](),[3.352][3.352:365](),[3.365][3.17688:17754](),[3.17754][3.493:505](),[3.493][3.493:505](),[3.505][3.17755:17821]()
    "project",
    { data_type => "text", is_foreign_key => 1, is_nullable => 0 },
    "jobset",
    { data_type => "text", is_foreign_key => 1, is_nullable => 0 },
    [3.4689]
    [3.115]
    "jobset_id",
    { data_type => "integer", is_foreign_key => 1, is_nullable => 0 },
  • edit in src/lib/Hydra/Schema/JobsetEvals.pm at line 143
    [3.109][3.525:525]()
  • replacement in src/lib/Hydra/Schema/JobsetEvals.pm at line 174
    [3.1080][3.1080:1126](),[3.1126][3.4889:4963]()
    { name => "jobset", project => "project" },
    { is_deferrable => 0, on_delete => "CASCADE", on_update => "CASCADE" },
    [3.1080]
    [3.4247]
    { id => "jobset_id" },
    { is_deferrable => 0, on_delete => "CASCADE", on_update => "NO ACTION" },
  • edit in src/lib/Hydra/Schema/JobsetEvals.pm at line 208
    [3.4473][3.18178:18193]()
    =head2 project
  • replacement in src/lib/Hydra/Schema/JobsetEvals.pm at line 209
    [3.1130][3.18194:18211]()
    Type: belongs_to
    [3.1130]
    [3.18211]
    # Created by DBIx::Class::Schema::Loader v0.07049 @ 2021-01-25 14:44:07
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:OVxeYH+eoZZrAsAJ2/mAAA
  • edit in src/lib/Hydra/Schema/JobsetEvals.pm at line 212
    [3.18212][3.18212:18262](),[3.18262][3.4984:5153](),[3.5153][3.18352:18354](),[3.18352][3.18352:18354](),[3.18354][2.308:450](),[3.252][3.1674:1675](),[3.252][3.1674:1675](),[3.380][3.1674:1675](),[2.450][3.1674:1675](),[3.529][3.1674:1675](),[3.902][3.1674:1675](),[3.2807][3.1674:1675](),[3.3170][3.1674:1675](),[3.4832][3.1674:1675](),[3.5296][3.1674:1675](),[3.31159][3.1674:1675](),[3.4788][3.1674:1675]()
    Related object: L<Hydra::Schema::Projects>
    =cut
    __PACKAGE__->belongs_to(
    "project",
    "Hydra::Schema::Projects",
    { name => "project" },
    { is_deferrable => 0, on_delete => "CASCADE", on_update => "CASCADE" },
    );
    # Created by DBIx::Class::Schema::Loader v0.07049 @ 2021-01-25 14:43:28
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:VKQNG53wwdbO8p1CTdX+WA
  • replacement in src/lib/Hydra/Schema/Jobsets.pm at line 304
    [3.21924][3.2928:3016](),[3.2928][3.2928:3016]()
    {
    "foreign.jobset" => "self.name",
    "foreign.project" => "self.project",
    },
    [3.21924]
    [3.5773]
    { "foreign.jobset_id" => "self.id" },
  • replacement in src/lib/Hydra/Schema/Jobsets.pm at line 375
    [3.22628][3.530:672]()
    # Created by DBIx::Class::Schema::Loader v0.07049 @ 2021-01-22 07:11:57
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:6P1qlC5oVSPRSgRBp6nmrw
    [3.22628]
    [3.1062]
    # Created by DBIx::Class::Schema::Loader v0.07049 @ 2021-01-25 14:38:14
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:7XtIqrrGAIvReqly1kapog
  • edit in src/lib/Hydra/Schema/Projects.pm at line 159
    [3.24635][3.20715:20716](),[3.20715][3.20715:20716](),[3.20724][3.24679:24698](),[3.24698][3.20736:20753](),[3.20736][3.20736:20753](),[3.20753][3.24699:24745]()
    =head2 jobsetevals
    Type: has_many
    Related object: L<Hydra::Schema::JobsetEvals>
  • edit in src/lib/Hydra/Schema/Projects.pm at line 160
    [3.20793][3.20793:20799](),[3.20799][3.4738:4761](),[3.4738][3.4738:4761](),[3.4761][3.24746:24795](),[3.24795][3.2168:2208](),[3.3497][3.2168:2208](),[3.2208][3.6905:6914](),[3.6914][3.2208:2211](),[3.24802][3.2208:2211](),[3.2208][3.2208:2211](),[3.2211][3.2995:2996]()
    =cut
    __PACKAGE__->has_many(
    "jobsetevals",
    "Hydra::Schema::JobsetEvals",
    { "foreign.project" => "self.name" },
    undef,
    );
  • replacement in src/lib/Hydra/Schema/Projects.pm at line 246
    [3.7308][3.673:815]()
    # Created by DBIx::Class::Schema::Loader v0.07049 @ 2021-01-22 07:11:57
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:Ff5gJejFu+02b0lInobOoQ
    [3.7308]
    [3.171]
    # Created by DBIx::Class::Schema::Loader v0.07049 @ 2021-01-25 14:38:14
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:+4yWd9UjCyxxLZYDrVUAxA
  • edit in src/sql/hydra.sql at line 443
    [3.6637]
    [3.6712]
    jobset_id integer not null,
  • edit in src/sql/hydra.sql at line 445
    [3.6713][3.3162:3228](),[3.3162][3.3162:3228](),[3.3228][3.37680:37681]()
    project text not null,
    jobset text not null,
  • replacement in src/sql/hydra.sql at line 474
    [3.1324][3.3340:3537](),[3.7668][3.3340:3537](),[3.3340][3.3340:3537]()
    foreign key (project) references Projects(name) on delete cascade on update cascade,
    foreign key (project, jobset) references Jobsets(project, name) on delete cascade on update cascade
    [3.7668]
    [3.3974]
    foreign key (jobset_id) references Jobsets(id) on delete cascade
  • replacement in src/sql/hydra.sql at line 629
    [3.3383][3.0:105]()
    create index IndexJobsetEvalsOnJobsetId on JobsetEvals(project, jobset, id desc) where hasNewBuilds = 1;
    [3.3383]
    [3.1786]
    create index IndexJobsetEvalsOnJobsetId on JobsetEvals(jobset_id, id desc) where hasNewBuilds = 1;
    create index IndexJobsetIdEvals on JobsetEvals(jobset_id) where hasNewBuilds = 1;
  • file addition: upgrade-72.sql (----------)
    [58.3004]
    ALTER TABLE JobsetEvals
    ADD COLUMN jobset_id integer NULL,
    ADD FOREIGN KEY (jobset_id)
    REFERENCES Jobsets(id)
    ON DELETE CASCADE;
    UPDATE JobsetEvals
    SET jobset_id = (
    SELECT jobsets.id
    FROM jobsets
    WHERE jobsets.name = JobsetEvals.jobset
    AND jobsets.project = JobsetEvals.project
    );
    ALTER TABLE JobsetEvals
    ALTER COLUMN jobset_id SET NOT NULL,
    DROP COLUMN jobset,
    DROP COLUMN project;
    create index IndexJobsetIdEvals on JobsetEvals(jobset_id) where hasNewBuilds = 1;