builds: drop project, jobset columns
[?]
Jan 9, 2022, 3:27 AM
KJWLTWD3HSM72JMJJBGG6SCPSN5TBEB7ZWWVYQ6MXVAJZ4PJDATACDependencies
- [2]
APURLT2QRevert "Apply IndexBuildsOnJobFinishedId to unfinished builds only" - [3]
XKJOP4WXSQL: create better indexes for builds based on the jobset id - [4]
2GNJU4VFRunCommandLogs: init table - [5]
Y6AHH4THRemove the logfile and logSize columns from the database - [6]
B7ENVLRShydra-queue-runner: Make build notification more reliable - [7]
RFE6T5LG* Store jobset evaluations in the database explicitly. This includes - [8]
SJPEC375Builds: add a nullable jobset_id foreign key to Jobsets. - [9]
37R34XJO* Negative caching: don't perform a build if a dependency already - [10]
S5PV6IIM* Represent jobs explicitly in the DB. - [11]
MWXDVTS3Copy the flake migration from the flake branch - [12]
IK53RV4V - [13]
LZVO64YGMerge in the first bits of the API work - [14]
ZWCTAZGLadded newsitems, added some admin options to clear various caches. - [15]
BXHG3HYLWhen renaming a jobset, add a redirect from the old name - [16]
W4G5MZZShydra-evaluator improvements - [17]
YF3HTIPFUse partial indexes - [18]
ECBA3GQO* Make the schema class names match the case of the SQL table names. - [19]
P57OYJ4PIndex builds on stop time - [20]
FZR7ET5DJobsets: add a SERIAL, unique, non-null id column - [21]
MB5INTIQNormalize nixexpr{input,path} from builds to jobsetevals. - [22]
B72GLND4 - [23]
FYO6NECEhydra - [24]
G2T4WAHIStore the inputs of each evaluation in the database - [25]
N22GPKYT* Put info about logs / build products in the DB. - [26]
FTPCV25MStore aggregate members in the database - [27]
L2E6EVE2* Merged the Build and Job tables. - [28]
CCIORPJ5When manually scheduling an eval, force re-instantiation of store derivations - [29]
TLZ2SPBR - [30]
K2WAI5SOApply IndexBuildsOnJobFinishedId to unfinished builds only - [31]
PT5XCF2NAdd another index to speed up the jobstatus page - [32]
BMGYDRNKjobsetevals: refer to jobset by ID - [33]
4CELXP7PRemove the longDescription field - [34]
LCKWLQW3* In Sqlite "release" is now a keyword, so use "release_" instead. - [35]
GNIEG2GC* Disambiguate jobs by jobset name. I.e. jobs with the same name in - [36]
GEADFVZ5hydra-queue-runner: Improved scheduling - [37]
XSTE3Q62Projects: use JSON in Schema - [38]
SHBLLAVH* More global substitution. - [39]
SJLEZFC4check getHydraPath in stead of Envvar HYDRA_DBI directly - [40]
NZXX6PLDRemove the Jobs table - [41]
TM6C352UEnsure that stoptime and starttime are set for finished builds - [42]
3ZCEPLNO - [43]
VJHIHMEH* Store the meta.longDescription and meta.license attributes in the - [44]
QLOLZHRXAllow a per-jobset check interval - [45]
P3M6UFMPMerge remote-tracking branch 'origin/master' into flake - [46]
6WRGCITDEnable declarative projects. - [47]
KOTB7BKV - [48]
FANTYCR7Materialize the number of finished builds - [49]
IGR322YPsql: Generate models from postgresql - [50]
S66BOMVU* Added authentication. - [51]
LTQMSMYOGet rid of some obsolete indexes - [52]
YAPITGB3* Boolean inputs. - [53]
4S5JF5JPUse latest DBIx::Class::Schema::Loader - [54]
PHX2HIVG* Store info about the build inputs in the build record. - [55]
JM3DPYOMgenerated schema with new dbix class schema loader, grrrrrr - [56]
WYN733ST* Store build duration, handle cached builds. - [57]
CLJQCY2X* Store info about all the build actions and allow them to be - [58]
JTHWA6AMRename aggregate members to constituents - [59]
CMU3YKOU* Store the release name. - [60]
GUHKIKQRhydra.sql: add an index for slow queries in production - [61]
26PYNDXVRemove the errorMsg column from the Builds table - [62]
TWVSALRL* Allow the maximum number of concurrent builds per platform to be - [63]
OT4YGU4QBuilds: index literally what latest-finished queries - [64]
R5D7DZPE - [65]
TQKGQ5R3 - [66]
5L272QSCSpeed up the /jobset overview pages a lot - [67]
J5UVLXOK* Start of a basic Catalyst web interface. - [68]
HPEG2RHVMerge the BuildResultInfo table into the Builds table - [69]
KQAQ4FIFUpdate Schema classes - [70]
ITJWNQEZUpdate Hydra schema, otherwise hydra-notify will not work. - [71]
W5OAZWPDDrop the errorMsg column in the Jobs table - [72]
WE5Q2NVIAllow build to be bumped to the front of the queue via the web interface - [73]
V4RNHJNR* Add a link to each project's homepage. Suggested by karltk. - [74]
TPNHTE5VRemove obsolete Builds columns and provide accurate "Running builds" - [75]
QUMWPGCUAdd flake configuration to the web interface - [76]
762ZKDT3Fix some broken indices - [77]
FHF6IZJQ* Basic release management: releases are now dynamically computed as - [78]
BHZXGT2H* Channels: provide an index page that lists all the packages in the - [79]
AHTEIK7G* Added a maintainers field to the Builds table. - [80]
3E6IP3R3* Add the name of the jobset to ReleaseSetJobs, otherwise we can't - [81]
WQ3QMV3DDBIx::Class: migrate to use_namespaces - [82]
EYNG4EL4* Regenerate the bindings from a clean sqlite database. - [83]
YTIDBFGUDrop unused "disabled" columns - [84]
P5VJCT6Ufix wrong comment - [85]
6QRHXIM3* Speed up the jobset index page. Especially the query to get the - [86]
SIDK2E7VJobs: add a nullable jobset_id foreign key to Jobsets. - [87]
ZVTSOVHN* Support Subversion checkouts. - [88]
6BLUKEQ2* Caching of "path" inputs, and fake a revision number for those. - [89]
PMNWRTGJAdd multiple output support - [90]
E2TOU3L6* More indices. - [91]
ICRGXEPIBuilds.jobset_id: make not-null - [92]
2I2ZX6JB* Make the "latest succeeded" query (used by the "latest" channel) - [93]
T5BIOVJEAdd support for tracking custom metrics - [94]
C5W3WZ3Y* Index the Builds table on drvPath to prevent a full table scan - [95]
K3HODXGHCheck all inputs for blame but only email selected inputs - [96]
SS4TZXNUDistinguish between permanent evaluation errors and transient input errors - [97]
RU7AQO7U* Role-based access control. Only admins can create projects. Only - [98]
N74SRHS6Remove the "releases" feature - [99]
R6B5CAFFLet Builds.timestamp refer to the time the build was added - [100]
PCKLFRT5Support push notification of repository changes - [101]
PCD3ZH6ZPartially revert 1c20cfdf2403feb78cef515faf15c04d5c9f17bd - [102]
BQHDSG6OMerge remote-tracking branch 'origin/master' into flake - [103]
H7CNGK4O* Log evaluation errors etc. in the DB. - [104]
X27GNHDV* Basic job info in the database. - [105]
BD3GRK4B* Get rid of "positive failures" and separate log phases. - [106]
YTZOC7C5* Editing of jobset inputs. - [107]
53IMJNBBAdd isChannel column and meta attribute. - [108]
KSBB33REAdd a dashboard - [109]
D3DIBMOK* For products that are directories (like manuals), allow a default - [110]
YU6CND7CRemove support for views - [111]
RBNQKATL* Adding persistant releases. A release is a named set of builds. - [112]
ZI535LI6* hydra: 'new' UI for project/jobset/job/build - [113]
SB2V735VKeep track of the database schema version - [114]
DH3KNBAVMerge remote-tracking branch 'upstream/who-broke-builds' into upstream-master - [*]
D5QIOJGP* Move everything up one directory.
Change contents
- edit in src/lib/Hydra/Schema/Result/Builds.pm at line 54
=head2 project - edit in src/lib/Hydra/Schema/Result/Builds.pm at line 55[5.7400]→[5.7665:7685](∅→∅),[5.7685]→[5.7441:7478](∅→∅),[5.7441]→[5.7441:7478](∅→∅),[5.7492]→[5.7492:7508](∅→∅),[5.7508]→[5.7686:7706](∅→∅),[5.7706]→[5.7549:7586](∅→∅),[5.7549]→[5.7549:7586](∅→∅),[5.7586]→[5.0:1](∅→∅)
data_type: 'text'is_foreign_key: 1is_nullable: 0=head2 jobsetdata_type: 'text'is_foreign_key: 1is_nullable: 0 - edit in src/lib/Hydra/Schema/Result/Builds.pm at line 197[5.7465]→[5.286:299](∅→∅),[5.8201]→[5.286:299](∅→∅),[5.5538]→[5.286:299](∅→∅),[5.299]→[5.8202:8268](∅→∅),[5.7594]→[5.359:371](∅→∅),[5.8268]→[5.359:371](∅→∅),[5.359]→[5.359:371](∅→∅),[5.371]→[5.8269:8335](∅→∅)
"project",{ data_type => "text", is_foreign_key => 1, is_nullable => 0 },"jobset",{ data_type => "text", is_foreign_key => 1, is_nullable => 0 }, - edit in src/lib/Hydra/Schema/Result/Builds.pm at line 424[5.164]→[5.346:398](∅→∅),[5.346]→[5.346:398](∅→∅),[5.398]→[5.4352:4402](∅→∅),[5.4402]→[5.440:499](∅→∅),[5.440]→[5.440:499](∅→∅),[5.499]→[5.4403:4439](∅→∅),[5.4439]→[5.10464:10510](∅→∅),[5.10464]→[5.10464:10510](∅→∅),[5.10510]→[5.3154:3230](∅→∅)
);=head2 jobset_project_jobsetType: belongs_toRelated object: L<Hydra::Schema::Result::Jobsets>=cut__PACKAGE__->belongs_to("jobset_project_jobset","Hydra::Schema::Result::Jobsets",{ name => "jobset", project => "project" },{ is_deferrable => 0, on_delete => "NO ACTION", on_update => "CASCADE" }, - edit in src/lib/Hydra/Schema/Result/Builds.pm at line 456[5.9773]→[5.10665:10680](∅→∅),[5.10680]→[5.9795:9796](∅→∅),[5.9795]→[5.9795:9796](∅→∅),[5.9796]→[5.10681:10698](∅→∅),[5.10698]→[5.9811:9812](∅→∅),[5.9811]→[5.9811:9812](∅→∅),[5.9812]→[5.4654:4705](∅→∅),[5.4705]→[5.9861:9868](∅→∅),[5.10742]→[5.9861:9868](∅→∅),[5.9861]→[5.9861:9868](∅→∅),[5.9868]→[5.3251:3289](∅→∅),[5.3289]→[5.4706:4743](∅→∅),[5.4743]→[5.3318:3422](∅→∅),[5.3318]→[5.3318:3422](∅→∅),[5.3422]→[4.0:1](∅→∅)
=head2 projectType: belongs_toRelated object: L<Hydra::Schema::Result::Projects>=cut__PACKAGE__->belongs_to("project","Hydra::Schema::Result::Projects",{ name => "project" },{ is_deferrable => 0, on_delete => "NO ACTION", on_update => "CASCADE" },); - replacement in src/lib/Hydra/Schema/Result/Builds.pm at line 500
# Created by DBIx::Class::Schema::Loader v0.07049 @ 2021-11-17 12:42:34# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:ylttv/NTMDcSZumBXRCOCw# Created by DBIx::Class::Schema::Loader v0.07049 @ 2022-01-10 09:43:38# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:DQF8KRinnf0imJOP+lvH9Q - replacement in src/lib/Hydra/Schema/Result/Jobsets.pm at line 260
=head2 builds_jobset_ids=head2 builds - replacement in src/lib/Hydra/Schema/Result/Jobsets.pm at line 269
"builds_jobset_ids","builds", - edit in src/lib/Hydra/Schema/Result/Jobsets.pm at line 272[5.847]→[5.847:890](∅→∅),[5.890]→[5.19235:19236](∅→∅),[5.21711]→[5.19235:19236](∅→∅),[5.19235]→[5.19235:19236](∅→∅),[5.19320]→[5.19320:19336](∅→∅),[5.19336]→[5.10802:10851](∅→∅),[5.10851]→[5.19383:19390](∅→∅),[5.21753]→[5.19383:19390](∅→∅),[5.19383]→[5.19383:19390](∅→∅),[5.19390]→[5.2552:2575](∅→∅),[5.2552]→[5.2552:2575](∅→∅),[5.2575]→[5.891:919](∅→∅),[5.919]→[5.10852:10887](∅→∅),[5.10887]→[5.2626:2714](∅→∅),[5.21793]→[5.2626:2714](∅→∅),[5.2626]→[5.2626:2714](∅→∅)
undef,);=head2 builds_project_jobsetsType: has_manyRelated object: L<Hydra::Schema::Result::Builds>=cut__PACKAGE__->has_many("builds_project_jobsets","Hydra::Schema::Result::Builds",{"foreign.jobset" => "self.name","foreign.project" => "self.project",}, - replacement in src/lib/Hydra/Schema/Result/Jobsets.pm at line 357
# Created by DBIx::Class::Schema::Loader v0.07049 @ 2021-08-26 12:02:36# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:iI44C3BFTo6IsS1tBwWYsg# Created by DBIx::Class::Schema::Loader v0.07049 @ 2022-01-08 22:24:10# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:cQOnMitrWGMoJX6kZGNW+w - edit in src/lib/Hydra/Schema/Result/Projects.pm at line 144[5.7747]→[5.7747:7748](∅→∅),[5.7748]→[5.24479:24493](∅→∅),[5.4155]→[5.24479:24493](∅→∅),[5.24493]→[5.4177:4194](∅→∅),[5.4177]→[5.4177:4194](∅→∅),[5.4194]→[5.12843:12892](∅→∅)
=head2 buildsType: has_manyRelated object: L<Hydra::Schema::Result::Builds> - edit in src/lib/Hydra/Schema/Result/Projects.pm at line 145[5.4244]→[5.4244:4273](∅→∅),[5.4273]→[5.24536:24548](∅→∅),[5.24548]→[5.12893:12928](∅→∅),[5.12928]→[5.4328:4368](∅→∅),[5.24575]→[5.4328:4368](∅→∅),[5.4328]→[5.4328:4368](∅→∅),[5.4368]→[5.6885:6894](∅→∅),[5.6894]→[5.4368:4371](∅→∅),[5.24582]→[5.4368:4371](∅→∅),[5.4368]→[5.4368:4371](∅→∅),[5.24745]→[5.20792:20793](∅→∅),[5.20792]→[5.20792:20793](∅→∅)
=cut__PACKAGE__->has_many("builds","Hydra::Schema::Result::Builds",{ "foreign.project" => "self.name" },undef,); - replacement in src/lib/Hydra/Schema/Result/Projects.pm at line 231
# Created by DBIx::Class::Schema::Loader v0.07049 @ 2021-08-26 12:02:36# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:nKVZ8ZNCZQQ52zbpDAaoQQ# Created by DBIx::Class::Schema::Loader v0.07049 @ 2022-01-08 22:24:10# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:r/wbX3FAm5/OFrrwOQL5fA - edit in src/sql/hydra.sql at line 165
project text not null,jobset text not null, - replacement in src/sql/hydra.sql at line 225[5.143]→[5.1340:1410](∅→∅),[5.1410]→[5.1531:1602](∅→∅),[5.143]→[5.1531:1602](∅→∅),[5.1602]→[5.6100:6186](∅→∅)
foreign key (jobset_id) references Jobsets(id) on delete cascade,foreign key (project) references Projects(name) on update cascade,foreign key (project, jobset) references Jobsets(project, name) on update cascadeforeign key (jobset_id) references Jobsets(id) on delete cascade - edit in src/sql/hydra.sql at line 671
create index IndexBuildsOnJobsetIsCurrent on Builds(project, jobset, isCurrent) where isCurrent = 1;create index IndexBuildsOnJobIsCurrent on Builds(project, jobset, job, isCurrent) where isCurrent = 1; - edit in src/sql/hydra.sql at line 674
create index IndexBuildsOnJobset on Builds(project, jobset);create index IndexBuildsOnProject on Builds(project); - edit in src/sql/hydra.sql at line 676
create index IndexBuildsOnJobFinishedId on builds(project, jobset, job, system, finished, id DESC); - file addition: upgrade-80.sql[116.3004]
drop index IndexBuildsOnJobsetIsCurrent;drop index IndexBuildsOnJobIsCurrent;drop index IndexBuildsOnJobset;drop index IndexBuildsOnProject;drop index IndexBuildsOnJobFinishedId;alter table Buildsdrop column project,drop column jobset;