flathub-infra / flatpak-external-data-checker

A tool for checking if the external data used in Flatpak manifests is still up to date
GNU General Public License v2.0
115 stars 34 forks source link

f-e-d-c crashes on updating AppStream #346

Closed JakobDev closed 3 months ago

JakobDev commented 1 year ago

f-e-d-c currently crashes on updating the 6.4 branch of com.riverbankcomputing.PyQt.BaseApp.

INFO    src.manifest: Updating /github/workspace/pyqt/../pyqt-builder/pyqt-builder.json
INFO    src.manifest: Updating /github/workspace/pyqt/../pyqt-sip/pyqt-sip.json
INFO    src.manifest: Updating /github/workspace/pyqt/pyqt.json
INFO    src.manifest: Preparing to update appdata /github/workspace/com.riverbankcomputing.PyQt.BaseApp.metainfo.xml
Traceback (most recent call last):
  File "/app/flatpak-external-data-checker", line 30, in <module>
    main()
  File "/app/src/main.py", line 457, in main
    outdated_num, errors_num, updated = asyncio.run(run_with_args(args))
  File "/usr/lib/python3.9/asyncio/runners.py", line 44, in run
    return loop.run_until_complete(main)
  File "/usr/lib/python3.9/asyncio/base_events.py", line 642, in run_until_complete
    return future.result()
  File "/app/src/main.py", line 425, in run_with_args
    changes = manifest_checker.update_manifests()
  File "/app/src/manifest.py", line 546, in update_manifests
    self._update_appdata()
  File "/app/src/manifest.py", line 492, in _update_appdata
    assert selected_data is not None
AssertionError

The full log can be found in the Action.

gasinvein commented 1 year ago

I guess this happens because the last module (polish) doesn't have any external sources, thus f-e-d-c can't associate its appdata with any version.

JakobDev commented 1 year ago

I will try to add is-main-source to the correct module to fix this. But I think f-e-d-c should show a correct error message with a hint to is-main-source in such a case.

JakobDev commented 1 year ago

I can confirm that this has fixed the Issue, so f-e-d-c just needs to implement a proper error message