ppa tests with "--packages" won't show any triggers

Bug #2008529 reported by Sergio Durigan Junior
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
ppa-dev-tools
New
Undecided
Unassigned

Bug Description

[ This bug's title has been purposefully worded in a very similar way to bug #2003094 's title, because the problem might be related. ]

When I use "ppa tests" without specifying "--package", it correctly shows me the trigger URLs:

$ ppa tests -r jammy ppa:ci-train-ppa-service/4982 -L
* Triggers:
  - Source postgresql-14/14.7-0ubuntu0.22.04.1~ppa1: Published
    + amd64: https://autopkgtest.ubuntu.com/request.cgi?release=jammy&package=postgresql-14&arch=amd64&trigger=postgresql-14%2F14.7-0ubuntu0.22.04.1~ppa1&ppa=ci-train-ppa-service%2F4982♻️
    + arm64: https://autopkgtest.ubuntu.com/request.cgi?release=jammy&package=postgresql-14&arch=arm64&trigger=postgresql-14%2F14.7-0ubuntu0.22.04.1~ppa1&ppa=ci-train-ppa-service%2F4982♻️
    + armhf: https://autopkgtest.ubuntu.com/request.cgi?release=jammy&package=postgresql-14&arch=armhf&trigger=postgresql-14%2F14.7-0ubuntu0.22.04.1~ppa1&ppa=ci-train-ppa-service%2F4982♻️
    + i386: https://autopkgtest.ubuntu.com/request.cgi?release=jammy&package=postgresql-14&arch=i386&trigger=postgresql-14%2F14.7-0ubuntu0.22.04.1~ppa1&ppa=ci-train-ppa-service%2F4982♻️
    + ppc64el: https://autopkgtest.ubuntu.com/request.cgi?release=jammy&package=postgresql-14&arch=ppc64el&trigger=postgresql-14%2F14.7-0ubuntu0.22.04.1~ppa1&ppa=ci-train-ppa-service%2F4982♻️
    + s390x: https://autopkgtest.ubuntu.com/request.cgi?release=jammy&package=postgresql-14&arch=s390x&trigger=postgresql-14%2F14.7-0ubuntu0.22.04.1~ppa1&ppa=ci-train-ppa-service%2F4982♻️
    + amd64: https://autopkgtest.ubuntu.com/request.cgi?release=jammy&package=postgresql-14&arch=amd64&trigger=postgresql-14%2F14.7-0ubuntu0.22.04.1~ppa1&ppa=ci-train-ppa-service%2F4982💍
    + arm64: https://autopkgtest.ubuntu.com/request.cgi?release=jammy&package=postgresql-14&arch=arm64&trigger=postgresql-14%2F14.7-0ubuntu0.22.04.1~ppa1&ppa=ci-train-ppa-service%2F4982💍
    + armhf: https://autopkgtest.ubuntu.com/request.cgi?release=jammy&package=postgresql-14&arch=armhf&trigger=postgresql-14%2F14.7-0ubuntu0.22.04.1~ppa1&ppa=ci-train-ppa-service%2F4982💍
    + i386: https://autopkgtest.ubuntu.com/request.cgi?release=jammy&package=postgresql-14&arch=i386&trigger=postgresql-14%2F14.7-0ubuntu0.22.04.1~ppa1&ppa=ci-train-ppa-service%2F4982💍
    + ppc64el: https://autopkgtest.ubuntu.com/request.cgi?release=jammy&package=postgresql-14&arch=ppc64el&trigger=postgresql-14%2F14.7-0ubuntu0.22.04.1~ppa1&ppa=ci-train-ppa-service%2F4982
💍
    + s390x: https://autopkgtest.ubuntu.com/request.cgi?release=jammy&package=postgresql-14&arch=s390x&trigger=postgresql-14%2F14.7-0ubuntu0.22.04.1~ppa1&ppa=ci-train-ppa-service%2F4982💍

* Results:
* Running:
  # time pkg release arch ppa trigger
  - 660 samba jammy amd64 ci-train-ppa-service/4982 postgresql-14/14.7-0ubuntu0.22.04.1~ppa1
* Waiting: (none)

However, when I specify a package via "--package", it doesn't show any URLs:

$ ppa tests -r jammy -p samba ppa:ci-train-ppa-service/4982 -L
* Triggers:

* Results:
* Running:
  # time pkg release arch ppa trigger
  - 851 samba jammy amd64 ci-train-ppa-service/4982 postgresql-14/14.7-0ubuntu0.22.04.1~ppa1
* Waiting: (none)

In this case, I'd expect "ppa tests" to provide me with URLs where there "package=" argument is "samba", so that I could trigger autopkgtests against what's in the PPA without having to rebuild samba there.

Revision history for this message
Bryce Harrington (bryce) wrote :

I think I understand what you're going for here, and think I have an idea for implementation.

With triggers there are essentially three kinds of packages to think about:

The first is the modified package in the PPA; this is what the --packages parameter is set up to deal with.

The second are the various packages specified as triggers.

The third is the test package - this is package containing the autopkgtests to actually be invoked. This is what this bug report is about being able to specify.

In the trivial case, the first and third packages are one and the same. Before adding support for testing reverse-dependencies, ppa-dev-tools had this assumption hardcoded into it.

Now, with the --show-rdepends flag (not landed yet but MP up for review), it will display triggers for different combinations of the first and third type of trigger:

$ ./scripts/ppa tests -a amd64 --show-rdepends -r jammy ppa:ci-train-ppa-service/4982 -L | wc -l
291

E.g.:

$ ./scripts/ppa tests -a amd64 --show-rdepends -r jammy ppa:ci-train-ppa-service/4982 -L | grep package=postfix
    + postfix@amd64: https://autopkgtest.ubuntu.com/request.cgi?release=jammy&package=postfix&arch=amd64&trigger=postgresql-14%2F14.7-0ubuntu0.22.04.1~ppa1&ppa=ci-train-ppa-service%2F4982♻️
    + postgresql-14@amd64: https://autopkgtest.ubuntu.com/request.cgi?release=jammy&package=postfix&arch=amd64&trigger=postgresql-14%2F14.7-0ubuntu0.22.04.1~ppa1&ppa=ci-train-ppa-service%2F4982💍

My guess is that part of the desire for overriding the test package was to workaround the lack of --show-rdepends. So hopefully that MP solves at least part of the problem.

However, this only gives URLs for direct reverse dependencies, not arbitrary packages. I'm not seeing samba listed as a direct reverse dependency, nor see it here:

$ apt-cache rdepends postgresql-14 | grep samba

However, it is completely reasonable to want to run an arbitrary test package. We're quite frequently needing to debug oddball things, after all.

So I think the remaining request here would be to add a new feature enabled by an argument like '--test-packages=a,b,c'. This would suppress normal trigger output and instead display triggers with just the specified test packages. If you have multiple different source packages in your PPA, then you could use '--architectures amd64 --packages x,y,z --test-packages=a,b,c' to create nine sets of trigger URLs with the various combinations. Does that sound like a useful feature for your use cases?

Time is probably too short for including this in the 0.4 release, but it shouldn't be hard to implement and I may be able to include it with some post-0.4 refactoring of the tests command code I already have in the plans.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.