[AppStream] Adding QA information to a component
Richard Hughes
hughsient at gmail.com
Mon Jul 5 08:27:03 UTC 2021
On Sun, 4 Jul 2021 at 23:14, Matthias Klumpp <matthias at tenstral.net> wrote:
> Appstreamcli shouldn't throw an error yet if `artifact` isn't used...
> But it's actually very likely that it will do that in future,
> supporting both syntax versions is a bit of a pain and definitely
> something that I'll want to go away when AppStream 1.0 is released.
Right; I don't plan to be 1.0 compliant for another few years then :)
> > not <name>? It seemed like the "name" of the test_result i..e the bit
> > you'd show in the UI.
> Ah! I thought the string value was for a person / team that did the
> testing, not a name for the specific test that has been performed. For
> the latter, `name` is obviously the best choice.
Nope, I've confused you. I was using <name> as the vendor name of the
entity that did the testing. Maybe <developer_name> is what I want
here? or maybe a new <vendor_name>?
> > I did think about only doing successful tests; hopefully any failures
> > would mean the firmware isn't available.
>
> That makes sense. What will the UI do if a test result isn't available
> for the specific hardware the user is running, but the firmware itself
> is available? Warn about the update? (that would IMHO be a bit
> weird...)
I think the idea here is one of:
* Only mirror firmware that's had a successful test from a specific QA team
* Only allow deployment of firmware that's been tested by a specific QA team
> Looks sensible! What is the `id` attribute of test_result for?
Ohh, that was more for me; it points to the specific test result on
the LVFS that allows us to see more details about the test. Maybe that
should just be <url>THE_WHOLE_URL</url> instead?
> Ordering? Or just some unique ID for the specific result?
I didn't even think about ordering; naively I thought in the UI to
just use alphabetical or something to avoid getting political.
> I also have to make one correction: The `platform` attribute that I
> mentioned in my previous mail is obviously a property of an *artifact*
> and not of a *release*.
Very true; good point.
> This means we could either add the testing
> block to individual artifacts
I think this is fine; it's okay to say "if you want to use this super
new feature you can't use the old way of doing release artifacts"
> That "VersionOld" thing could potentially be generalized (I'd call it
> updated_from_version maybe, or previous_version as tag
<previous_version> makes a lot of sense to me.
> runtime version piece is very much implementation specific.
You have any preference between:
<value key="RuntimeVersion(org.freedesktop.fwupd)">1.6.2</value>
<value key="fwupd">1.6.2</value>
Other ideas very welcome.
Richard
---
<artifacts>
<artifact type="binary">
<filename>firmware.bin</filename>
<checksum
type="sha1">111784ffadfd5dd43f05655b266b5142230195b6</checksum>
<checksum
type="sha256">fce1847b0599bb19cd913d02268f15107691a79221ce16822b4c931cd1bda2c5</checksum>
<testing>
<test_result date="2021-07-02">
<name>LVFS</name>
<device>LENOVO ThinkPad X1 Carbon 7th</device>
<url>https://127.0.0.1:5000/lvfs/reports/1/details</url>
<os version="34" variant="workstation">fedora</os>
<previous_version>1.2.6</previous_version>
<custom>
<value key="RuntimeVersion(org.freedesktop.fwupd)">1.6.2</value>
</custom>
</test_result>
</testing>
</artifact>
</artifacts>
More information about the AppStream
mailing list