So, as the fedora-update artifact got merged into ci-messages, the builds dict and the id are mandatory for all the messages. Both of this encapsulate information about the builds contained in the update at the time the test was run (on the basis that updates can be edited, so it's important for message consumers to know what was actually in the update as the test tested it).
fedora-update
builds
id
Unfortunately right now we don't and can't include this info in the messages we publish from openQA, so the messages aren't technically complying with the spec.
Fixing this is...interesting...because at present the implementation is that we download the update packages during the test itself. This has two obvious implications:
fedora_openqa
So, there are a few ways we can address this, and none of them is super clean, but I think the best and most robust would be just to change how we actually do the testing. The approach would be something like having the scheduler capture information about the builds in the update at the time of scheduling, and pass that info into the test as variables. We would then change the test code to always download those builds, rather than just using the Bodhi CLI to download whatever builds are in the update at the time the command runs - probably by using Koji CLI instead of Bodhi CLI (an alternative would be to have the scheduler actually set up a repo for the tests to use, but I don't think I like that). The messaging code could then also read the info out of the variables and include it in the messages.
I like this approach best because it ensures the info is always available for inclusion in messages even if the test fails early or otherwise somehow doesn't store info on what packages it used, and should ensure the info in the messages is always consistent with what the test actually tested. It does mean we have yet more "implementation detail" variables in the tests, but meh, that's a relatively small drawback.
This should now be resolved. I proceeded more or less as described above. The scheduler now gets the list of NVRs from Bodhi and includes it as a space-separated list in the variable ADVISORY_NVRS. The tests now download those specific builds. And the publishing plugin now includes the builds array and the correct id and alias values in the messages.
ADVISORY_NVRS
alias
Metadata Update from @adamwill: - Issue close_status updated to: Fixed - Issue status updated to: Closed (was: Open)
This issue has been migrated to Fedora Forge: https://forge.fedoraproject.org/quality/fedora_openqa/issues/78
Please continue any further discussion there.