Enable CI to run more targeted
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
- We maintain the order of the
- the
changes
rule forbases/**/*
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
- we need to respect our docs and ensure that we understand that this is not a basic regex matcher, but instead leverages Ruby's
- 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