Update the deployment labelling mechanism to handle coordinated pipeline order
Problem Statement
Due to the historical nature of how we labeled items during a deploy, it used to follow a workflow that looks like the following:
- Deploy to staging canary -> Add the ~workflow::staging-canary label
- Deploy to staging main -> Replace the scoped label with ~workflow::staging
- Deploy to production canary -> Replace the scoped label with ~workflow::canary
- Deploy to production main -> Replace the scoped label with workflowproduction
Today that looks like this:
- Deploy to staging canary -> Add the ~workflow::staging-canary label
- Deploy to production canary -> Replace the scoped label with ~workflow::canary
- Deploy to staging main -> Replace the scoped label with ~workflow::staging
- Deploy to production main -> Replace the scoped label with workflowproduction
This MIGHT cause some confusion as it is not precise, having the canary label no longer means we've made it beyond staging.
Potential Solution
Rework our labels such that we would have at least 2 groups of scoped labels, may be three. Thus things could look like this:
- Deploy to staging canary -> Add the ~workflow-staging::canary label
- Deploy to staging main -> Replace the scoped label with ~workflow-staging::main
- Deploy to production canary -> Add the scoped label with ~workflow-production::canary
- Deploy to production main -> Replace the scoped label with ~"workflow-production::main" - Remove label ~workflow-staging::main
Edited by John Skarbek