-
Notifications
You must be signed in to change notification settings - Fork 4
Open
Description
Running gha-update on GDAL, I got a crash like this:
$ uvx gha-update
Installed 10 packages in 29ms
+ Exception Group Traceback (most recent call last):
| File "/home/ubuntu/.cache/uv/archive-v0/O32UKmme5WxeYw5U9q-iK/bin/gha-update", line 12, in <module>
| sys.exit(cli())
| ^^^^^
| File "/home/ubuntu/.cache/uv/archive-v0/O32UKmme5WxeYw5U9q-iK/lib/python3.12/site-packages/click/core.py", line 1462, in __call__
| return self.main(*args, **kwargs)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
| File "/home/ubuntu/.cache/uv/archive-v0/O32UKmme5WxeYw5U9q-iK/lib/python3.12/site-packages/click/core.py", line 1383, in main
| rv = self.invoke(ctx)
| ^^^^^^^^^^^^^^^^
| File "/home/ubuntu/.cache/uv/archive-v0/O32UKmme5WxeYw5U9q-iK/lib/python3.12/site-packages/click/core.py", line 1246, in invoke
| return ctx.invoke(self.callback, **ctx.params)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| File "/home/ubuntu/.cache/uv/archive-v0/O32UKmme5WxeYw5U9q-iK/lib/python3.12/site-packages/click/core.py", line 814, in invoke
| return callback(*args, **kwargs)
| ^^^^^^^^^^^^^^^^^^^^^^^^^
| File "/home/ubuntu/.cache/uv/archive-v0/O32UKmme5WxeYw5U9q-iK/lib/python3.12/site-packages/gha_update/_cli.py", line 21, in cli
| asyncio.run(update_workflows(config))
| File "/usr/lib/python3.12/asyncio/runners.py", line 194, in run
| return runner.run(main)
| ^^^^^^^^^^^^^^^^
| File "/usr/lib/python3.12/asyncio/runners.py", line 118, in run
| return self._loop.run_until_complete(task)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| File "/usr/lib/python3.12/asyncio/base_events.py", line 687, in run_until_complete
| return future.result()
| ^^^^^^^^^^^^^^^
| File "/home/ubuntu/.cache/uv/archive-v0/O32UKmme5WxeYw5U9q-iK/lib/python3.12/site-packages/gha_update/_core.py", line 57, in update_workflows
| versions = await get_versions(base_url, actions)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| File "/home/ubuntu/.cache/uv/archive-v0/O32UKmme5WxeYw5U9q-iK/lib/python3.12/site-packages/gha_update/_core.py", line 169, in get_versions
| async with (
| File "/usr/lib/python3.12/asyncio/taskgroups.py", line 145, in __aexit__
| raise me from None
| ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception)
+-+---------------- 1 ----------------
| Traceback (most recent call last):
| File "/home/ubuntu/.cache/uv/archive-v0/O32UKmme5WxeYw5U9q-iK/lib/python3.12/site-packages/gha_update/_core.py", line 153, in get_highest_version
| return highest_version(tags)
| ^^^^^^^^^^^^^^^^^^^^^
| File "/home/ubuntu/.cache/uv/archive-v0/O32UKmme5WxeYw5U9q-iK/lib/python3.12/site-packages/gha_update/_core.py", line 191, in highest_version
| raise ValueError("no valid version tags found")
| ValueError: no valid version tags found
|
| The above exception was the direct cause of the following exception:
|
| Traceback (most recent call last):
| File "/home/ubuntu/.cache/uv/archive-v0/O32UKmme5WxeYw5U9q-iK/lib/python3.12/site-packages/gha_update/_core.py", line 155, in get_highest_version
| raise RuntimeError(
| RuntimeError: google/oss-fuzz has no version tags, it cannot be updated or pinned.
+------------------------------------
It's the cifuzz.yml causing the crash, here's what I believe the relevant parts of the workflow that causes the crash are:
jobs:
Fuzzing:
runs-on: ubuntu-latest
if: github.repository == 'OSGeo/gdal'
steps:
- name: Build Fuzzers
id: build
uses: google/oss-fuzz/infra/cifuzz/actions/build_fuzzers@56f58e25299ee6559fa40369bd4af908000c0c36 # master on 2023/12/31
with:
oss-fuzz-project-name: 'gdal'
dry-run: falseIn the case of GDAL, there are 19 yml files, so it would be nice if the 18 files that use actions that do have version tags got updated.
It would also have been nice if the error message said something about which yml file that was causing the crash.
An alternative would be to make gha-update accept filenames as arguments, so the non-crashing files could be fed to gha-update. Being able to give a filename as argument would also serve as a workaround against tripping the Github API rate limit.
Metadata
Metadata
Assignees
Labels
No labels