mbox series

[0/7] gitlab pipeline check/watch script improvements

Message ID 20200904164258.240278-1-crosa@redhat.com
Headers show
Series gitlab pipeline check/watch script improvements | expand

Message

Cleber Rosa Sept. 4, 2020, 4:42 p.m. UTC
This is a collection of refactors and improvements based on feedback
received.

The biggest difference is that now the script can be used right after
a git push, despite the pipeline having been created yet or not.  The
proper status of the pipeline (not created, pending, etc) will be
given as output.

Cleber Rosa (7):
  scripts/ci/gitlab-pipeline-status: make branch name configurable
  scripts/ci/gitlab-pipeline-status: improve message regarding timeout
  scripts/ci/gitlab-pipeline-status: give early feedback on running
    pipelines
  scripts/ci/gitlab-pipeline-status: refactor parser creation
  scripts/ci/gitlab-pipeline-status: handle keyboard interrupts
  scripts/ci/gitlab-pipeline-status: use more descriptive exceptions
  scripts/ci/gitlab-pipeline-status: wait for pipeline creation

 scripts/ci/gitlab-pipeline-status | 63 +++++++++++++++++++++----------
 1 file changed, 44 insertions(+), 19 deletions(-)

-- 
2.25.4

Comments

Philippe Mathieu-Daudé Sept. 4, 2020, 4:53 p.m. UTC | #1
On 9/4/20 6:42 PM, Cleber Rosa wrote:
> The script has its own timeout, which is about how long the script
> will wait (when called with --wait) for the pipeline to complete, and
> not necessarily for the pipeline to complete.
> 
> Hopefully this will new wording will be clearer.

too many wills?

> 
> Signed-off-by: Cleber Rosa <crosa@redhat.com>
> ---
>  scripts/ci/gitlab-pipeline-status | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/scripts/ci/gitlab-pipeline-status b/scripts/ci/gitlab-pipeline-status
> index 194dd4d0bb..2a36f74696 100755
> --- a/scripts/ci/gitlab-pipeline-status
> +++ b/scripts/ci/gitlab-pipeline-status
> @@ -69,7 +69,10 @@ def wait_on_pipeline_success(timeout, interval,
>      start = time.time()
>      while True:
>          if time.time() >= (start + timeout):
> -            print("Waiting on the pipeline timed out")
> +            msg = ("Timeout (-t/--timeout) of %i seconds reached, "
> +                   "won't wait any longer for the pipeline to complete")
> +            msg %= timeout
> +            print(msg)

Isn't it more pythonic / cheaper to declare the msg format out
of the loop and call directly:

               print(msg % timeout)

?

>              return False
>  
>          status = get_pipeline_status(project_id, commit_sha)
>