diff --git a/README.md b/README.md index 4d4fa1b..75ffd7e 100644 --- a/README.md +++ b/README.md @@ -140,7 +140,7 @@ Here are the `conf.yaml` configuration options: | `github_app_installation_id` | Installation ID (a number) of the Github app. | No | | `github_app_id` | ID (a number) of the Github app. | No | | `github_app_cert_path` | Path to a certificate which Github provides as an auth mechanism for Github apps. | No | -| `refresh_interval` | Time in seconds between checks on repository. Default is 180 | No | +| `refresh_interval` | Time in seconds between checks on repository. If not provided, run only once and exit. | No | | `clone_url` | URL used to clone your Github repository. By default, `https` variant is used. | No | | `gitchangelog` | Whether to use gitchangelog to generate change logs. False by default. | No | @@ -214,4 +214,4 @@ If you are interested in making contribution to release-bot project, please read ## Logo design -Created by `Marián Mrva` - [@surfer19](https://github.com/surfer19) \ No newline at end of file +Created by `Marián Mrva` - [@surfer19](https://github.com/surfer19) diff --git a/release_bot/configuration.py b/release_bot/configuration.py index e7eba2f..ad7bf5a 100644 --- a/release_bot/configuration.py +++ b/release_bot/configuration.py @@ -39,7 +39,7 @@ def __init__(self): self.github_username = '' self.pagure_token = '' self.pagure_username = '' - self.refresh_interval = 3 * 60 + self.refresh_interval = None self.debug = False self.configuration = '' self.logger = None diff --git a/release_bot/init_repo.py b/release_bot/init_repo.py index d6f6a49..8c55024 100644 --- a/release_bot/init_repo.py +++ b/release_bot/init_repo.py @@ -47,6 +47,7 @@ output_engine = mustache("markdown.tpl") """ + class Init: """ Creates all of the required configuration script required for the ReleaseBot @@ -56,7 +57,7 @@ def __init__(self): 'repository_name': '', 'repository_owner': '', 'github_token': '', - 'refresh_interval': '180', + 'refresh_interval': None, 'github_username': '', 'gitchangelog': False, } @@ -121,7 +122,7 @@ def create_conf(self, silent): refresh_interval = "dummy" while not (refresh_interval.isdigit() or refresh_interval == ""): refresh_interval = input("""In how many seconds would you like the - bot to check for updates (Default 180):""") + bot to recheck for updates (Default: don't recheck and exit):""") if refresh_interval > 0: self.conf['refresh_interval'] = int(refresh_interval) else: diff --git a/release_bot/releasebot.py b/release_bot/releasebot.py index 2c2b841..76217a9 100644 --- a/release_bot/releasebot.py +++ b/release_bot/releasebot.py @@ -222,7 +222,8 @@ def release_handler(success): try: latest_release = self.github.latest_release() except ReleaseException as exc: - raise ReleaseException(f"Failed getting latest {self.git_service.name} release (zip).\n{exc}") + raise ReleaseException( + f"Failed getting latest {self.git_service.name} release (zip).\n{exc}") if Version.coerce(latest_release) >= Version.coerce(self.new_release.version): self.logger.info( @@ -257,7 +258,7 @@ def release_handler(success): latest_pypi = self.pypi.latest_version() if Version.coerce(latest_pypi) >= Version.coerce(self.new_release.version): msg = f"{self.conf.pypi_project}-{self.new_release.version} " \ - f"or higher version has already been released on PyPi" + f"or higher version has already been released on PyPi" self.logger.info(msg) return False self.git.fetch_tags() @@ -304,14 +305,14 @@ def run(self): except ReleaseException as exc: self.logger.error(exc) - msg = '\n'.join(self.github.comment) - self.project.pr_comment(self.new_release.pr_number, msg) - self.github.comment = [] # clean up + if self.github.comment: + msg = '\n'.join(self.github.comment) + self.project.pr_comment(self.new_release.pr_number, msg) + self.github.comment = [] # clean up if not self.conf.refresh_interval: self.logger.debug( - "Refresh interval has not been provided." - "Reconciliation finished." + "Refresh interval has not been provided. Reconciliation finished." ) break self.logger.debug(f"Done. Going to sleep for {self.conf.refresh_interval}s")