From 9e13557e9d9362943ed4577c0e8af73f06646005 Mon Sep 17 00:00:00 2001 From: MatthewPopat-NHS Date: Mon, 30 Mar 2026 14:25:12 +0000 Subject: [PATCH] Stopped trigger_release script from releasing to int and fixed it for multi phase approvals --- scripts/trigger_release.py | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/scripts/trigger_release.py b/scripts/trigger_release.py index 1ab9d537..aba432e5 100755 --- a/scripts/trigger_release.py +++ b/scripts/trigger_release.py @@ -32,8 +32,7 @@ def __init__(self, token: str, owner: str, repo: str, logger: logging.Logger): self.version_tag: Optional[str] = None self.jobs_requiring_approval = [ "release_ref", - "release_qa", - "release_int" + "release_qa" ] self.approved_jobs = set() self.completed_jobs = set() @@ -207,28 +206,28 @@ def monitor_and_approve(self) -> bool: env_name = deployment["environment"]["name"] env_id = deployment["environment"]["id"] - # Check if this is release_prod - if env_name == "prod": + # Check if this is release_int + if env_name == "int": self.logger.info( - f"\nšŸ›‘ Reached production deployment for " + f"\nšŸ›‘ Reached INT deployment for " f"environment '{env_name}'" ) self.print_summary( - "Stopped at production deployment" + "Stopped at INT deployment" ) return True # Auto-approve other environments job_name = f"release_{env_name}" - if (job_name in self.jobs_requiring_approval and - job_name not in self.approved_jobs): + if (job_name in self.jobs_requiring_approval): self.logger.info( f"āœ“ Approving deployment to environment " f"'{env_name}'..." ) if self.approve_deployment(self.run_id, [env_id]): - self.approved_jobs.add(job_name) self.logger.info(f"āœ… Approved: {job_name}") + if job_name not in self.approved_jobs: + self.approved_jobs.add(job_name) else: self.logger.warning(f"āš ļø Failed to approve: {job_name}")