Skip to content

Enable CI to run more targeted

John Skarbek requested to merge jts/start-fixing-ci into master

What does this MR do?

In an effort to prevent some CI jobs from spinning up unnecessarily, think QA targeting preprod when we've got a change ONLY made to gprd, let's begin.

  • Moves all base environment information into individual files - this is done in a DRY method by asking helmfile to peel open some basic repetitive info
  • Fixes the Makefile which was yelling at me about the ifeq having too much cruft on it
  • Adds the necessary changes that prevents QA from running unnecessarily
  • Adds the necessary changes to ensure we only run deployments and dry run jobs upon specific changes
    • We maintain the order of the rules blocks such that we do not negatively interfere with auto-deployment triggered pipelines
  • the changes rule for bases/**/* is replaced with items that are environment specific
  • for values files, we need to ensure that we are able to successfully target the appropriate stage, thus:
    • we need to respect our docs and ensure that we understand that this is not a basic regex matcher, but instead leverages Ruby's fnmatch
    • So we need to ensure that we delineate our file names at the end of our environment, thus: we have something like release/gitlab/values/gprd.* which does NOT match our canary stage
    • This is showcased as an example inside of the MR
  • Disable the label taxonomy on ops as it is repetitive

Addresses: gitlab-com/gl-infra/delivery#1128 (closed)

Author Check-list

Please read the Contributing document and once you do, complete the following:

  • Check if all of the following apply:
    • Assign to the correct reviewer per the contributing document
    • Apply the correct metadata per the contributing document
    • Link to related MRs for applying the changes on other environments
    • Link to related Chef changes
    • If necessary link to a Criticality 4 Change Request issue

Reviewer Check-list

  • Check if all of the following apply:
    • Reviewed the diff jobs to confirm changes are as expected
    • No changes shown in the diffs not associated with this MR - This may require a rebase or further investigation

Applier Check-list

  • Make sure there is no ongoing deployment for the affected envs before merging (see #announcements slack channel)
Edited by John Skarbek

Merge request reports