This is mostly about the last sentence of https://pagure.io/fm-orchestrator/issue/256
When deciding whether a component could be re-used, MBS should check all the latest ready versions of every module name & stream combination, not just the latest version of the same module & stream.
ready
Anything but the latest ready version should be ignored as those builds might no longer be available in koji.
While this might be expensive, it will, in most cases, be still cheaper than actually building anything in koji. That said, do think about whether you could store any relevant PDC information in a more efficient manner.
It seems to me that this would only be possible if we had some deeper information about the buildroots between the two different modules - something more in depth than just names, versions, and releases.
If we could do some abi/api check, we might be able to re-use components from a different module/stream in a new module build, but that sounds like risky error-prone rocket science. Maybe someone has a good idea about how to do the check?
One use case in which this could help a lot: maven:master and maven:f27 are identical (identical buirdrequires, components, the same refs, ...), only runtime requires are different (see below). So theoretically all 200 component builds could be reused.
$ git diff f27 master diff --git a/maven.yaml b/maven.yaml index 4b67162..782b30e 100644 --- a/maven.yaml +++ b/maven.yaml @@ -24,8 +24,8 @@ data: # BR of xml-stylebook fonts: master requires: - java: 8 - platform: f27 + java: master + platform: master profiles: default: rpms:
Interesting. It seems like this could only be done in the zeroeth batch of either module. That's a good example @mizdebsk, thank you.
closing old ticket
Metadata Update from @mikem: - Issue close_status updated to: Invalid - Issue status updated to: Closed (was: Open)
Login to comment on this ticket.