Skip to content

Organize better Review Apps and QA jobs

Rémy Coutable requested to merge improve-review-apps-jobs-structure into master

EE port at https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/11445.

What does this MR do?

This reorganize the Review Apps and QA jobs as follows:

  1. Create a new review stage for the review-deploy and review-stop jobs.
  2. Create a new qa stage for the review-qa-smoke, review-qa-all, review-performance and package-and-qa jobs.
  3. Make the review-build-cng manual. Instead of making it poll the gitlab:assets:compile job until it's finished, make the gitlab:assets:compile job play the review-build-cng job once it's done instead (e.g. https://gitlab.com/gitlab-org/gitlab-ce/-/jobs/199280636).
    • This will make the review-build-cng duration accurate (e.g. https://gitlab.com/gitlab-org/gitlab-ce/-/jobs/199280710) and prevent it from timing out if gitlab:assets:compile taking too long to finish. This will also save resources since the review-build-cng job won't start until its dependency job is successful, compared to the previous implementation where it would automatically start, then poll the dependency job for at least 15 minutes, and would perform its task even if the dependency job was failing.
  4. Removed the need for the wait_for_job_to_be_done hack entirely since review-deploy/review-stop and review-qa-*/review-performance/ package-and-qa are now in separate stages.
  5. It's ok to move review-deploy to a new stage because its dependency (review-build-cng) should be the longest job from the test stage, so once it's finished, it will automatically starts the review stage.
  6. Remove the environment key from the reivew-qa-* and review-performance jobs so that they're not considered "deployment" jobs. Save the Review App URL in the deploy job instead, save it as an artifact and retrieve it in the reivew-qa-* and review-performance jobs

Screen_Shot_2019-04-19_at_12.17.03

TODO:

Does this MR meet the acceptance criteria?

Conformity

Performance and testing

Security

If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:

  • Label as security and @ mention @gitlab-com/gl-security/appsec
  • The MR includes necessary changes to maintain consistency between UI, API, email, or other methods
  • Security reports checked/validated by a reviewer from the AppSec team
Edited by Rémy Coutable

Merge request reports