Cleanup Project model

[?]
Oct 24, 2013, 2:42 PM
7ECJWNVXNO3BKM7B7FIFIRBE77QET5PK2C3XKVQUXCYKHDP3V4UQC

Dependencies

  • [2] KYSBJAYN Allow dashes in jobset input names
  • [3] LPY3EY2B Fix showing the project's display name
  • [4] H66SHOS7 Fix and clean up editing project settings
  • [5] SYLVCTT6 Start api cleanup with the User model
  • [6] RBNQKATL * Adding persistant releases. A release is a named set of builds.
  • [7] VJHIHMEH * Store the meta.longDescription and meta.license attributes in the
  • [8] ZWCTAZGL added newsitems, added some admin options to clear various caches.
  • [9] RFE6T5LG * Store jobset evaluations in the database explicitly. This includes
  • [10] ZDF42B24 revert change to dbix::class generated code
  • [11] FPK5LF53 * Put the project-related actions in a separate controller. Put the
  • [12] ZEHSSVFG
  • [13] TQKGQ5R3
  • [14] EYNG4EL4 * Regenerate the bindings from a clean sqlite database.
  • [15] 7YBYT2LQ
  • [16] X27GNHDV * Basic job info in the database.
  • [17] JTRG7RDQ add support for git as jobinput
  • [18] 3NO4SUUG Show when a Project's jobsets are disabled
  • [19] GWCV3TQV * BuildInputs table: link to dependencies, include store paths.
  • [20] SHBLLAVH * More global substitution.
  • [21] B72GLND4
  • [22] FHF6IZJQ * Basic release management: releases are now dynamically computed as
  • [23] 67P45PY4
  • [24] CMU3YKOU * Store the release name.
  • [25] H7CNGK4O * Log evaluation errors etc. in the DB.
  • [26] TWVSALRL * Allow the maximum number of concurrent builds per platform to be
  • [27] GNIEG2GC * Disambiguate jobs by jobset name. I.e. jobs with the same name in
  • [28] 3E6IP3R3 * Add the name of the jobset to ReleaseSetJobs, otherwise we can't
  • [29] 3PNG7NIB Remove trailing whitespace
  • [30] SB2V735V Keep track of the database schema version
  • [31] R5D7DZPE
  • [32] 4D4U5IPY * Allow jobsets to be disabled.
  • [33] KN3VYE5P * Cleaned up the foreign key constraints.
  • [34] LCKWLQW3 * In Sqlite "release" is now a keyword, so use "release_" instead.
  • [35] ZI535LI6 * hydra: 'new' UI for project/jobset/job/build
  • [36] PHX2HIVG * Store info about the build inputs in the build record.
  • [37] QTFVCDIF added hide feature for project/jobset
  • [38] V4RNHJNR * Add a link to each project's homepage. Suggested by karltk.
  • [39] KOTB7BKV
  • [40] DVNWJXWW * Generic declaration of build products.
  • [41] BHZXGT2H * Channels: provide an index page that lists all the packages in the
  • [42] BD3GRK4B * Get rid of "positive failures" and separate log phases.
  • [43] P5X4P6VK * Renaming "release sets" to "views" (not finished yet). Having
  • [44] JM3DPYOM generated schema with new dbix class schema loader, grrrrrr
  • [45] S66BOMVU * Added authentication.
  • [46] AHTEIK7G * Added a maintainers field to the Builds table.
  • [47] 37R34XJO * Negative caching: don't perform a build if a dependency already
  • [48] Y6AHH4TH Remove the logfile and logSize columns from the database
  • [49] CLJQCY2X * Store info about all the build actions and allow them to be
  • [50] YAPITGB3 * Boolean inputs.
  • [51] BVOPAMLS
  • [52] S6OISBQ3 * Mark the "current" builds in a jobset, i.e. those corresponding to
  • [53] 5SHCWE7X * Prevent repeated evaluation of a jobset with the same inputs. This
  • [54] 6BLUKEQ2 * Caching of "path" inputs, and fake a revision number for those.
  • [55] M552HLIA * Support variant builds.
  • [56] L2E6EVE2 * Merged the Build and Job tables.
  • [57] IK53RV4V
  • [58] 3HCBU2FA
  • [59] NPG7RSJL The field is actually enabled, not disabled
  • [60] ECBA3GQO * Make the schema class names match the case of the SQL table names.
  • [61] KSBB33RE Add a dashboard
  • [62] ZVTSOVHN * Support Subversion checkouts.
  • [63] RU7AQO7U * Role-based access control. Only admins can create projects. Only
  • [64] LZVO64YG Merge in the first bits of the API work
  • [65] D3DIBMOK * For products that are directories (like manuals), allow a default
  • [66] TLZ2SPBR
  • [67] S5PV6IIM * Represent jobs explicitly in the DB.
  • [68] YTZOC7C5 * Editing of jobset inputs.
  • [69] 3ZCEPLNO

Change contents

  • replacement in src/lib/Hydra/Controller/Project.pm at line 15
    [6.2215][4.62:150](),[4.150][6.15785:15802](),[6.15785][6.15785:15802](),[6.15802][3.0:24](),[3.24][6.15826:15958](),[6.15826][6.15826:15958](),[6.15978][6.15978:16051](),[6.16051][6.0:25](),[6.25][4.151:267]()
    $c->stash->{project} = $c->model('DB::Projects')->find($projectName, { columns => [
    "me.name",
    "me.displayname",
    "me.description",
    "me.enabled",
    "me.hidden",
    "me.homepage",
    "owner.username",
    "owner.fullname",
    "releases.name",
    "releases.timestamp",
    "jobsets.name",
    "jobsets.enabled",
    ], join => [ 'owner', 'releases', 'jobsets' ], order_by => { -desc => "releases.timestamp" }, collapse => 1 });
    [6.2215]
    [6.1712]
    $c->stash->{project} = $c->model('DB::Projects')->find($projectName, {
    join => [ 'releases' ],
    order_by => { -desc => "releases.timestamp" },
    });
  • replacement in src/lib/Hydra/Schema/Projects.pm at line 287
    [6.2465][6.4514:4918](),[6.2783][6.4514:4918](),[6.7450][6.4514:4918](),[6.25711][6.4514:4918](),[6.32893][6.4514:4918](),[6.4514][6.4514:4918]()
    # These lines were loaded from '/home/rbvermaa/src/hydra/src/lib/Hydra/Schema/Projects.pm' found in @INC.
    # They are now part of the custom portion of this file
    # for you to hand-edit. If you do not either delete
    # this section or remove that file from @INC, this section
    # will be repeated redundantly when you re-create this
    # file again via Loader! See skip_load_external to disable
    # this feature.
    [6.2465]
    [6.3827]
    my %hint = (
    columns => [
    "name",
    "displayname",
    "description",
    "enabled",
    "hidden",
    "owner"
    ],
    relations => {
    releases => "name",
    jobsets => "name"
    }
    );
    sub json_hint {
    return \%hint;
    }
  • edit in src/lib/Hydra/Schema/Projects.pm at line 307
    [6.3828][6.4919:5009]()
    # You can replace this text with custom content, and it will be preserved on regeneration
  • replacement in tests/api-test.pl at line 3
    [6.36481][5.2035:2064]()
    use Test::Simple tests => 4;
    [6.36481]
    [5.2064]
    use Test::Simple tests => 7;
  • edit in tests/api-test.pl at line 31
    [5.2238][5.2238:2254]()
    =begin comment
  • edit in tests/api-test.pl at line 41
    [6.37908]
    [2.269]
    =begin comment