Update `gitlab_project` to support the updated `public_jobs` attribute

As discussed in !1353 (comment 1178788995) we should update the gitlab_project schema to allow users to pass in public_jobs in addition to public_builds. Until our next breaking release, we should support both, with public_jobs taking precedent over public_builds.

Implementation Guide

To do this, we need to do the following:

  • Leave the current approach in place that translates public_builds to the project.PublicJobs attribute (done in this Mr)
  • Add the following tests
    • 1 test, uses public_builds without public_jobs
    • 1 test, uses public_jobs without public_builds
    • 1 test, uses both
  • Update the schema to add the extra public_jobs attribute
  • Update the CRUD methods to check if public_jobs is set, then use that, otherwise use public_builds
  • Add a diff suppress function to public_builds that ignores it when setting public_jobs
Edited by Timo Furrer