Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add appstream validator action #38

Closed
wants to merge 1 commit into from
Closed

Conversation

kgrubb
Copy link
Contributor

@kgrubb kgrubb commented Apr 16, 2020

Still need to test this one out, but the manual commands work so far. I'll report back with some links once I've tested out the action on a fake package.

Fixes #37

@decathorpe
Copy link

It would be great if the action could run both the appstream and the appstream-glib validators.

  • appstream-util (appstream-glib): appstream-util validate-relax --nonet PATH
  • appstreamcli (appstream): appstreamcli validate --no-net PATH

As mentioned in the linked issue, elementary and KDE use appstream, everybody else (GNOME / Packagekit, etc) uses appstream-glib.


However, with the way you're currently setting up this action, it will run against unprocessed appdata files (named appdata.xml.in files most often - the *appdata* glob covers those too), which might not be valid until they get processed by gettext during a meson install.

The only way to make sure the "final" version of an .appdata.xml file is getting validated would be after running meson install - and if you're doing that, it could be part of the main CI anyway (where meson install is run for almost all packages now).

@decathorpe
Copy link

Also, I'm not sure if the test environment has internet access. If it does, you could drop the --no-net / --nonet flags - then the validator also checks if screenshot URLs and such are valid links.

@kgrubb
Copy link
Contributor Author

kgrubb commented Apr 16, 2020

This makes me re-evaluate this action a bit then. I'm thinking maybe the better route is to create a generic "build" action that can handle the meson building for elementary's projects, and then this just gets incorporated into the build action? That'd keep all of the meson install steps uniform, and we would be able to update general build config in one place.

@kgrubb kgrubb mentioned this pull request Apr 16, 2020
@kgrubb
Copy link
Contributor Author

kgrubb commented Apr 16, 2020

closing in favor of #39

@kgrubb kgrubb closed this Apr 16, 2020
@kgrubb kgrubb deleted the appstream-validator branch November 18, 2021 21:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Provide AppStream validation
2 participants