scheduler: Wait for binaries to appear
As observed with this rocm-smi to experimental, it seems that it's possible for a source package to enter a distribution without the binaries having been built:
Traceback (most recent call last):
File "/usr/bin/debci-scheduler", line 566, in <module>
main()
File "/usr/bin/debci-scheduler", line 556, in main
scheduler.collect()
File "/usr/bin/debci-scheduler", line 470, in collect
for dep in self.get_deps_to_check(package):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/bin/debci-scheduler", line 383, in get_deps_to_check
names = self.caches[package.dist].get_source_deps(package.name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/bin/debci-scheduler", line 267, in get_source_deps
pkg = self.cache[binname]
~~~~~~~~~~^^^^^^^^^
KeyError: 'rocm-smi'
Verified in an experimental container: rocm-smi was in the sources file for experimental, but not in the binaries file.
The solution is simply to skip these packages until binaries appear.
This is certainly not unusual, in fact it should be expected for source-only uploads. It's just interesting that this hasn't occurred before. Perhaps something changed on the Archive side?