Hey Ralph (ccing qa-devel),
just to let you know, I added some code to Koji directive to download build logs. The
patch is posted here:
https://phab.qadevel.cloud.fedoraproject.org/D916
(you can use 'arch patch D916' to apply the diff in your libtaskotron checkout)
The corresponding changes for task-rpmgrill are in feature/buildlog branch:
https://bitbucket.org/fedoraqa/task-rpmgrill/branch/feature/buildlog
I could have implemented shuffling the build.log files around in run_rpmgrill.py, but it
seemed easier to have it in a bash script. I moved all the rpmgrill* commands in there as
well, and used our new bash directive to execute it (it still has rough edges, we're
working on that). But having it in a bash script is not necessary, if you prefer to do it
all in python, we definitely don't have to merge the code as it is :)
I also removed your failsafe decorator, but again, it's just a suggestion. The first
reason was that since I moved most of the setup code and rpmgrill execution into the bash
directive, the decorator didn't have any affect on it anyway. The second reason is
that we seem to be of an opinion that ResultsDB should only contain real results (passed,
failed), and crashes and similar execution statuses should be only present in ExecDB [1]
(which, however, cannot be searched yet). This is all up to discussion, and our current
solutions have a lot of rough edges, so if you want to continue sending CRASHED to
ResultsDB in case of errors, we have no problem with it, and we can convert task-rpmgrill
once we're 100% sure how we want things to look like and have it implemented properly.
Please note, though, that we currently receive emails for all tests that crash hard, so we
will be able to spot any task-rpmgrill issues even if not wrapped in the failsafe
decorator.
If you have any questions or concerns, please ask :)
Cheers,
Kamil
[1]
https://taskotron.fedoraproject.org/execdb/