[AppStream] Adding QA information to a component
Richard Hughes
hughsient at gmail.com
Sat Jul 3 20:05:34 UTC 2021
On Sat, 3 Jul 2021 at 20:08, Matthias Klumpp <matthias at tenstral.net> wrote:
> Maybe you could fire `appstreamcli validate` at the files, just to
> check that?
I'm not sure I can turn off <checksum> and just rely on <artifact>
just yet; at the moment we just do "both" so we support old and new
versions of fwupd. Maybe a few more years!
> I would make the XML look differently though - while freeform
> "anything goes" key value fields are nice, in the past it always paid
> off to have more specific tag names and narrowly defined value spaces.
Yes, you're probably right. <value tag="foo">bar<value> is the a{sv}
of API designs :)
> In AppStream, we usually have one larger tag with children if we
> expect there to be usually more tags of the same type, which I think
> applies here (there are exceptions, like the <url/> tag for backwards
> compatibility).
Yes, agree. At least from a libxmlb point of view, using a parent tag
enclosure like <testing> means we do one integer compare and a jump,
compared to N(integer compare and a jump) so it makes a lot of sense.
> <testing>
> <test_result date="2020-07-02">
date! I forgot that bit, 100% agree.
> <tester>Red Hat QA</tester>
not <name>? It seemed like the "name" of the test_result i..e the bit
you'd show in the UI.
> <device>Lenovo Thinkpad P1</device>
> <os version="9">rhel</os>
These make sense.
> Questions for this: Is there ever a case where a test has *failed*
> that should show up here? Or will all listed tests be always
> successful, so actually be some kind of "it works!" certificates?
I did think about only doing successful tests; hopefully any failures
would mean the firmware isn't available.
> Since you went for the key/value approach, do you expect there to be a
> need for freeform key value pairs, like in the custom tag in
> AppStream? If so, what are the applications for that?
The only other thing that I might need is the version the tester
upgraded *from* i.e. 1.2.3 to 1.2.4 is much more likely to succeed
than 0.1.2 to 3.4.5 and also the version of the client that updated
it. e.g. what I've got so far is:
<testing>
<test_result id="1" date="2021-07-02">
<name>LVFS</name>
<device>LENOVO ThinkPad X1 Carbon 7th</device>
<os version="34" variant="workstation">fedora</os>
<custom>
<value key="RuntimeVersion(org.freedesktop.fwupd)">1.6.2</value>
<value key="VersionOld">1.2.6</value>
</custom>
</test_result>
</testing>
</release>
Getting there! Thanks!
Richard.
More information about the AppStream
mailing list