build-rpms and build-container call depchase to determine which rpm(s) need to be /app-built for the given flatpak. When deciding which packages are already included in the runtime (and therefore unneeded in /app), afaics it looks for the latest container in f39-flatpak-updates-candidate. While that would get the most recently built runtime before it is queued into an update, once included in a pending or testing update it is ignored, and the latest stable release is considered instead:
$ koji list-tag-inheritance f39-flatpak-updates-candidate f39-flatpak-updates-candidate (70611) .... └─f39-flatpak-updates (70610) .... └─f39-flatpak (70609)
This is currently breaking builds of (some?) flatpaks, as https://bodhi.fedoraproject.org/updates/FEDORA-FLATPAK-2023-6ee4811e75 (currently in testing) includes a bunch of RPM updates that went stable after the final freeze was lifted, where the previous stable build predates that, and the changes are significant.
I'm not sure if the tag inheritance should be changed here, or f-m-t's logic. In the meantime, I've retagged the testing build into candidate to unblock builds.
I think it would suffice to have -updates-candidate inherit -updates-testing, e.g.:
f40-flatpak-updates-candidate (84714) .... └─f40-flatpak-updates-testing (84715) .... └─f40-flatpak-updates (84713) .... └─f40-flatpak (84712)
Any downsides to this?
I deployed this to current branches, and has been working well for f41. Filed https://pagure.io/releng/pull-request/12625 to implement this for future branches.
Metadata Update from @yselkowitz: - Issue status updated to: Closed (was: Open)