tests are attempted for src packages with no binary packages
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Auto Package Testing |
New
|
Undecided
|
Unassigned | ||
britney |
New
|
Undecided
|
Unassigned |
Bug Description
Spun-off from LP: #2059978.
There are cases there tests are triggered for packages that build no binary packages on a given architecture. The concrete case [1] is tgt on armhf, which has no binary package in oracular:
$ rmadison --suite oracular -S tgt
tgt | 1:1.0.85-1.1ubuntu6 | oracular/universe | source, amd64, arm64, ppc64el, riscv64, s390x
tgt-glusterfs | 1:1.0.85-1.1ubuntu6 | oracular/universe | amd64, arm64, ppc64el, riscv64, s390x
tgt-rbd | 1:1.0.85-1.1ubuntu6 | oracular/universe | amd64, arm64, ppc64el, riscv64, s390x
and therefore the test fails. This counts as a regression because in the past we did have a binary package:
$ rmadison --suite mantic -S tgt
tgt | 1:1.0.85-1ubuntu1 | mantic/universe | source, amd64, arm64, armhf, ppc64el, riscv64, s390x
tgt-glusterfs | 1:1.0.85-1ubuntu1 | mantic/universe | amd64, arm64, armhf, ppc64el, riscv64, s390x
tgt-rbd | 1:1.0.85-1ubuntu1 | mantic/universe | amd64, arm64, armhf, ppc64el, riscv64, s390x
and tests did pass on armhf. Autopkgtest expects that bin:tgt exists because it checks:
$ apt-cache showsrc --only-source tg
Package: tgt
[...]
Package-List:
tgt deb net optional arch=linux-any
tgt-glusterfs deb net optional arch=amd64,
tgt-rbd deb net optional arch=amd64,
and tgt has arch=linux-any.
Steve (vorlon) pointed out that:
> Per https:/
> removed because they depend on another package (ceph) that is not
> portable to armhf.
> Since the tgt source package builds no architecture: all packages,
> and there are no armhf packages published, I think there is a bug
> in whatever is trying to trigger this test.
So this is likely a britney bug.
On tgt: hinting seems appropriate.
https:/ /autopkgtest. ubuntu. com/packages/ t/tgt/oracular/ armhf shows that the only tests that have been run for tgt/armhf in oracular all have trigger migration- reference/ 0. This is because packages that had previously been uploaded during the *noble* cycle had triggered the tests, which failed starting 2024-04-18, the same day the tgt armhf binaries were removed.
I think it's unlikely that there is a bug here in britney triggering tests for architectures it's not supposed to. I think what likely happened here is:
- britney triggered tests while the tgt binaries were still present
- the tgt binaries were removed while the above tests were in the queue
- the tests ran and failed with the specific behavior of failing to find the package
So this isn't a britney bug per se, just a race.
Subsequently, there are knock-on britney behaviors which I think are bugs: reference/ 0 tests for this failed test, because the results that came back were insufficient? https:/ /autopkgtest. ubuntu. com/packages/ t/tgt/noble/ armhf (but this also seems not to have happened in oracular, where the baseline retest was triggered only once)
- having collected the failing test result, britney apparently never notices that it's no longer relevant because of the architecture binaries having disappeared
- britney was excessively retriggering migration-