builds: drop project, jobset columns

[?]
Jan 9, 2022, 3:27 AM
KJWLTWD3HSM72JMJJBGG6SCPSN5TBEB7ZWWVYQ6MXVAJZ4PJDATAC

Dependencies

  • [2] APURLT2Q Revert "Apply IndexBuildsOnJobFinishedId to unfinished builds only"
  • [3] XKJOP4WX SQL: create better indexes for builds based on the jobset id
  • [4] 2GNJU4VF RunCommandLogs: init table
  • [5] YF3HTIPF Use partial indexes
  • [6] CMU3YKOU * Store the release name.
  • [7] V4RNHJNR * Add a link to each project's homepage. Suggested by karltk.
  • [8] K3HODXGH Check all inputs for blame but only email selected inputs
  • [9] IK53RV4V
  • [10] 4S5JF5JP Use latest DBIx::Class::Schema::Loader
  • [11] W4G5MZZS hydra-evaluator improvements
  • [12] FTPCV25M Store aggregate members in the database
  • [13] SJLEZFC4 check getHydraPath in stead of Envvar HYDRA_DBI directly
  • [14] CCIORPJ5 When manually scheduling an eval, force re-instantiation of store derivations
  • [15] BMGYDRNK jobsetevals: refer to jobset by ID
  • [16] R6B5CAFF Let Builds.timestamp refer to the time the build was added
  • [17] ZWCTAZGL added newsitems, added some admin options to clear various caches.
  • [18] MB5INTIQ Normalize nixexpr{input,path} from builds to jobsetevals.
  • [19] 2I2ZX6JB * Make the "latest succeeded" query (used by the "latest" channel)
  • [20] T5BIOVJE Add support for tracking custom metrics
  • [21] J5UVLXOK * Start of a basic Catalyst web interface.
  • [22] P5VJCT6U fix wrong comment
  • [23] E2TOU3L6 * More indices.
  • [24] KSBB33RE Add a dashboard
  • [25] 53IMJNBB Add isChannel column and meta attribute.
  • [26] GUHKIKQR hydra.sql: add an index for slow queries in production
  • [27] TPNHTE5V Remove obsolete Builds columns and provide accurate "Running builds"
  • [28] RBNQKATL * Adding persistant releases. A release is a named set of builds.
  • [29] H7CNGK4O * Log evaluation errors etc. in the DB.
  • [30] TM6C352U Ensure that stoptime and starttime are set for finished builds
  • [31] IGR322YP sql: Generate models from postgresql
  • [32] WQ3QMV3D DBIx::Class: migrate to use_namespaces
  • [33] WE5Q2NVI Allow build to be bumped to the front of the queue via the web interface
  • [34] X27GNHDV * Basic job info in the database.
  • [35] PMNWRTGJ Add multiple output support
  • [36] 6WRGCITD Enable declarative projects.
  • [37] NZXX6PLD Remove the Jobs table
  • [38] N22GPKYT * Put info about logs / build products in the DB.
  • [39] ICRGXEPI Builds.jobset_id: make not-null
  • [40] PCD3ZH6Z Partially revert 1c20cfdf2403feb78cef515faf15c04d5c9f17bd
  • [41] CLJQCY2X * Store info about all the build actions and allow them to be
  • [42] 3ZCEPLNO
  • [43] OT4YGU4Q Builds: index literally what latest-finished queries
  • [44] BD3GRK4B * Get rid of "positive failures" and separate log phases.
  • [45] EYNG4EL4 * Regenerate the bindings from a clean sqlite database.
  • [46] AHTEIK7G * Added a maintainers field to the Builds table.
  • [47] JM3DPYOM generated schema with new dbix class schema loader, grrrrrr
  • [48] K2WAI5SO Apply IndexBuildsOnJobFinishedId to unfinished builds only
  • [49] SIDK2E7V Jobs: add a nullable jobset_id foreign key to Jobsets.
  • [50] RU7AQO7U * Role-based access control. Only admins can create projects. Only
  • [51] FYO6NECE hydra
  • [52] L2E6EVE2 * Merged the Build and Job tables.
  • [53] KOTB7BKV
  • [54] YAPITGB3 * Boolean inputs.
  • [55] TLZ2SPBR
  • [56] 6BLUKEQ2 * Caching of "path" inputs, and fake a revision number for those.
  • [57] ZVTSOVHN * Support Subversion checkouts.
  • [58] SJPEC375 Builds: add a nullable jobset_id foreign key to Jobsets.
  • [59] 762ZKDT3 Fix some broken indices
  • [60] 3E6IP3R3 * Add the name of the jobset to ReleaseSetJobs, otherwise we can't
  • [61] HPEG2RHV Merge the BuildResultInfo table into the Builds table
  • [62] JTHWA6AM Rename aggregate members to constituents
  • [63] ITJWNQEZ Update Hydra schema, otherwise hydra-notify will not work.
  • [64] P57OYJ4P Index builds on stop time
  • [65] YTZOC7C5 * Editing of jobset inputs.
  • [66] P3M6UFMP Merge remote-tracking branch 'origin/master' into flake
  • [67] ZI535LI6 * hydra: 'new' UI for project/jobset/job/build
  • [68] BQHDSG6O Merge remote-tracking branch 'origin/master' into flake
  • [69] SHBLLAVH * More global substitution.
  • [70] WYN733ST * Store build duration, handle cached builds.
  • [71] GNIEG2GC * Disambiguate jobs by jobset name. I.e. jobs with the same name in
  • [72] PHX2HIVG * Store info about the build inputs in the build record.
  • [73] BXHG3HYL When renaming a jobset, add a redirect from the old name
  • [74] 6QRHXIM3 * Speed up the jobset index page. Especially the query to get the
  • [75] DH3KNBAV Merge remote-tracking branch 'upstream/who-broke-builds' into upstream-master
  • [76] 4CELXP7P Remove the longDescription field
  • [77] N74SRHS6 Remove the "releases" feature
  • [78] XSTE3Q62 Projects: use JSON in Schema
  • [79] R5D7DZPE
  • [80] QUMWPGCU Add flake configuration to the web interface
  • [81] G2T4WAHI Store the inputs of each evaluation in the database
  • [82] SS4TZXNU Distinguish between permanent evaluation errors and transient input errors
  • [83] PT5XCF2N Add another index to speed up the jobstatus page
  • [84] LZVO64YG Merge in the first bits of the API work
  • [85] B72GLND4
  • [86] W5OAZWPD Drop the errorMsg column in the Jobs table
  • [87] RFE6T5LG * Store jobset evaluations in the database explicitly. This includes
  • [88] FZR7ET5D Jobsets: add a SERIAL, unique, non-null id column
  • [89] QLOLZHRX Allow a per-jobset check interval
  • [90] LCKWLQW3 * In Sqlite "release" is now a keyword, so use "release_" instead.
  • [91] FANTYCR7 Materialize the number of finished builds
  • [92] YTIDBFGU Drop unused "disabled" columns
  • [93] VJHIHMEH * Store the meta.longDescription and meta.license attributes in the
  • [94] SB2V735V Keep track of the database schema version
  • [95] YU6CND7C Remove support for views
  • [96] 37R34XJO * Negative caching: don't perform a build if a dependency already
  • [97] C5W3WZ3Y * Index the Builds table on drvPath to prevent a full table scan
  • [98] S66BOMVU * Added authentication.
  • [99] S5PV6IIM * Represent jobs explicitly in the DB.
  • [100] BHZXGT2H * Channels: provide an index page that lists all the packages in the
  • [101] PCKLFRT5 Support push notification of repository changes
  • [102] GEADFVZ5 hydra-queue-runner: Improved scheduling
  • [103] Y6AHH4TH Remove the logfile and logSize columns from the database
  • [104] KQAQ4FIF Update Schema classes
  • [105] TWVSALRL * Allow the maximum number of concurrent builds per platform to be
  • [106] MWXDVTS3 Copy the flake migration from the flake branch
  • [107] ECBA3GQO * Make the schema class names match the case of the SQL table names.
  • [108] 5L272QSC Speed up the /jobset overview pages a lot
  • [109] LTQMSMYO Get rid of some obsolete indexes
  • [110] TQKGQ5R3
  • [111] 26PYNDXV Remove the errorMsg column from the Builds table
  • [112] B7ENVLRS hydra-queue-runner: Make build notification more reliable
  • [113] FHF6IZJQ * Basic release management: releases are now dynamically computed as
  • [114] D3DIBMOK * For products that are directories (like manuals), allow a default
  • [*] D5QIOJGP * Move everything up one directory.

Change contents

  • edit in src/lib/Hydra/Schema/Result/Builds.pm at line 54
    [5.7383][5.7383:7399]()
    =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: 1
    is_nullable: 0
    =head2 jobset
    data_type: 'text'
    is_foreign_key: 1
    is_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_jobset
    Type: belongs_to
    Related 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 project
    Type: belongs_to
    Related 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
    [5.3378][4.243:385]()
    # Created by DBIx::Class::Schema::Loader v0.07049 @ 2021-11-17 12:42:34
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:ylttv/NTMDcSZumBXRCOCw
    [5.3378]
    [5.4481]
    # 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
    [5.644][5.644:669]()
    =head2 builds_jobset_ids
    [5.644]
    [5.669]
    =head2 builds
  • replacement in src/lib/Hydra/Schema/Result/Jobsets.pm at line 269
    [5.757][5.757:780]()
    "builds_jobset_ids",
    [5.757]
    [5.10766]
    "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_jobsets
    Type: has_many
    Related 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
    [5.22628][5.11368:11510]()
    # Created by DBIx::Class::Schema::Loader v0.07049 @ 2021-08-26 12:02:36
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:iI44C3BFTo6IsS1tBwWYsg
    [5.22628]
    [5.1062]
    # 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 builds
    Type: has_many
    Related 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
    [5.7308][5.13399:13541]()
    # Created by DBIx::Class::Schema::Loader v0.07049 @ 2021-08-26 12:02:36
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:nKVZ8ZNCZQQ52zbpDAaoQQ
    [5.7308]
    [5.0]
    # 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
    [5.4250][5.5754:5820]()
    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 cascade
    [5.143]
    [5.2526]
    foreign key (jobset_id) references Jobsets(id) on delete cascade
  • edit in src/sql/hydra.sql at line 671
    [5.372][5.372:576]()
    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
    [3.317][5.2867:2982](),[5.576][5.2867:2982](),[5.2867][5.2867:2982]()
    create index IndexBuildsOnJobset on Builds(project, jobset);
    create index IndexBuildsOnProject on Builds(project);
  • edit in src/sql/hydra.sql at line 676
    [5.79][2.0:100]()
    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 Builds
    drop column project,
    drop column jobset;