mrtest errors out if a runner is pending
I was trying to mrtest an MR and it kept crashing with that runner
is None:
Download https://gitlab.alpinelinux.org/api/v4/projects/836/pipelines/233152/jobs
Traceback (most recent call last):
File "/usr/bin/mrtest", line 8, in <module>
sys.exit(main())
^^^^^^
File "/usr/lib/python3.12/site-packages/mrtest/frontend.py", line 55, in main
mrtest.add_packages.add_packages(origin, args.mr_id, args.no_cache)
File "/usr/lib/python3.12/site-packages/mrtest/add_packages.py", line 109, in add_packages
zip_path = mrhlpr.mr.get_artifacts_zip(mr_id, no_cache, origin)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/site-packages/mrhlpr/mr.py", line 133, in get_artifacts_zip
return gitlab.download_artifacts_zip(origin["api"], pipeline_project_id, job)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/site-packages/mrhlpr/gitlab.py", line 70, in download_artifacts_zip
runner.verify(job["runner"])
File "/usr/lib/python3.12/site-packages/mrhlpr/runner.py", line 79, in verify
no_state_str = get_no_state_str(runner)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/site-packages/mrhlpr/runner.py", line 15, in get_no_state_str
no_state = runner.copy()
^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'copy'
This happened when the runner was "pending". It would be good to show a better error message for example telling the user to wait until the runner no longer is pending.