From 2e12c8b345cee21e066b9c9a079504e674910d89 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sa=C5=A1a=20Tomi=C4=87?= Date: Tue, 20 Aug 2024 14:14:20 +0200 Subject: [PATCH] chore: Add a bit more logs to the release controller --- release-controller/git_repo.py | 11 ++++++++--- release-controller/reconciler.py | 14 ++++++++++++-- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/release-controller/git_repo.py b/release-controller/git_repo.py index 360bab4e3..cc2eb4943 100644 --- a/release-controller/git_repo.py +++ b/release-controller/git_repo.py @@ -1,3 +1,4 @@ +import logging import os import pathlib import subprocess @@ -321,7 +322,7 @@ def push_release_tags(repo: GitRepo, release: Release): stderr=subprocess.DEVNULL, cwd=repo.dir, ) - if ( + tag_version = ( subprocess.check_output( [ "git", @@ -333,8 +334,12 @@ def push_release_tags(repo: GitRepo, release: Release): ) .decode("utf-8") .strip() - .split(" ")[0] != v.version - ): + .split(" ")[0] + ) + if tag_version == v.version: + logging.info("RC %s: tag %s already exists on origin", release.rc_name, tag) + else: + logging.info("RC %s: pushing tag %s to the origin", release.rc_name, tag) subprocess.check_call( [ "git", diff --git a/release-controller/reconciler.py b/release-controller/reconciler.py index 8145999d1..d2e91691d 100644 --- a/release-controller/reconciler.py +++ b/release-controller/reconciler.py @@ -58,7 +58,14 @@ def version_proposal(self, version: str) -> int | None: def proposal_submitted(self, version: str) -> bool: """Check if a proposal has been submitted for the given version.""" - return self._version_path(version).exists() + if self._version_path(version).exists(): + proposal_id = self.version_proposal(version) + if proposal_id: + logging.info("version %s: proposal %s already submitted", version, proposal_id) + else: + logging.warning("version %s: earlier proposal submission attempted but failed, will not retry", version) + return True + return False def mark_submitted(self, version: str): """Mark a proposal as submitted.""" @@ -212,7 +219,10 @@ def reconcile(self): # returns a result only if changelog is published changelog = self.loader.proposal_summary(v.version) if changelog: - if not self.state.proposal_submitted(v.version): + if self.state.proposal_submitted(v.version): + logging.info("RC %s: proposal already submitted for version %s", rc.rc_name, v.version) + else: + logging.info("RC %s: submitting proposal for version %s", rc.rc_name, v.version) unelect_versions = [] if v_idx == 0: unelect_versions.extend(