From 5d376bdfa3f57aaec6aedf61931ba3ab4cedd76c Mon Sep 17 00:00:00 2001 From: Erik Sundell Date: Mon, 9 Sep 2024 22:21:47 +0200 Subject: [PATCH] deployer: respect deployer:skip-deploy-hubs, :deploy-hubs, :deploy-support labels --- .../generate/helm_upgrade/decision.py | 22 ++++++++++++++----- .../commands/generate/helm_upgrade/jobs.py | 7 +++++- 2 files changed, 22 insertions(+), 7 deletions(-) diff --git a/deployer/commands/generate/helm_upgrade/decision.py b/deployer/commands/generate/helm_upgrade/decision.py index e6bf90c89..ba76ea6d0 100644 --- a/deployer/commands/generate/helm_upgrade/decision.py +++ b/deployer/commands/generate/helm_upgrade/decision.py @@ -118,9 +118,14 @@ def generate_hub_matrix_jobs( matrix_job["hub_name"] = hub["name"] if upgrade_all_hubs_on_all_clusters: - matrix_job["reason_for_redeploy"] = ( - "Core infrastructure has been modified" - ) + if pr_labels and "deployer:deploy-hubs" in pr_labels: + matrix_job["reason_for_redeploy"] = ( + "deployer:deploy-hubs label detected" + ) + else: + matrix_job["reason_for_redeploy"] = ( + "Core infrastructure has been modified" + ) matrix_jobs.append(matrix_job) @@ -221,9 +226,14 @@ def generate_support_matrix_jobs( matrix_job["upgrade_support"] = True if upgrade_support_on_all_clusters: - matrix_job["reason_for_support_redeploy"] = ( - "Support helm chart has been modified" - ) + if pr_labels and "deployer:deploy-support" in pr_labels: + matrix_job["reason_for_support_redeploy"] = ( + "deployer:deploy-support label detected" + ) + else: + matrix_job["reason_for_support_redeploy"] = ( + "Support helm chart has been modified" + ) matrix_jobs.append(matrix_job) diff --git a/deployer/commands/generate/helm_upgrade/jobs.py b/deployer/commands/generate/helm_upgrade/jobs.py index 3fbbd5aac..30f04b593 100644 --- a/deployer/commands/generate/helm_upgrade/jobs.py +++ b/deployer/commands/generate/helm_upgrade/jobs.py @@ -29,7 +29,7 @@ def helm_upgrade_jobs( ), pr_labels: str = typer.Argument( "[]", - help="JSON formatted list of PR labels, where 'deployer:skip-deploy' and 'deployer:skip-deploy-hubs' are respected.", + help="JSON formatted list of PR labels, where 'deployer:skip-deploy', 'deployer:skip-deploy-hubs', 'deployer:deploy-support', and 'deployer:deploy-hubs' are respected.", ), ): """ @@ -45,6 +45,11 @@ def helm_upgrade_jobs( upgrade_all_hubs_on_all_clusters, ) = discover_modified_common_files(changed_filepaths) + if "deployer:deploy-support" in pr_labels: + upgrade_support_on_all_clusters = True + if "deployer:deploy-hubs" in pr_labels: + upgrade_all_hubs_on_all_clusters = True + # Convert changed filepaths into absolute Posix Paths changed_filepaths = [ REPO_ROOT_PATH.joinpath(filepath) for filepath in changed_filepaths