1454 Commits

Author SHA1 Message Date
Iain Lane
259217f001
Add Ubuntu configuration 2020-07-09 16:45:34 +01:00
Iain Lane
61ed4eb845
DependsPolicy: print some info when skipping the dep check
The autopkgtest policy prints when it doesn't run a test due to a
package being unsatisfiable on an arch. This can be a bit mysterious,
and it can seem like it's causing the package to not become a candidate,
when it's not. Print some info when we decide not to skip indicating
what happened.
2020-07-09 16:45:34 +01:00
Iain Lane
db9ddb7d0e
autopkgtest: Submit multiple triggers to amqp as a list
We currently concatenate all triggers together into a string, but the
AMQP consumer expects this to be a list.

When using AMQP, keep the triggers as a list. Ensure that the "real"
trigger (the package being tested) is kept first, as before.
2020-07-09 11:24:02 +01:00
Iain Lane
45322ca91e
britney: Allow breaking of packages on one arch when removing cruft
If all smooth updating/cruft is on a BREAK_ARCH then this can
legitimately happen.
2020-07-08 22:25:30 +01:00
Iain Lane
283f6ca993
autopkgtest: Don't output an info line for ignored failures
We already skip displaying most other types of results where no action
is required including ALWAYSFAIL, should do it for hints too
2020-07-08 22:25:30 +01:00
Iain Lane
dc98eda37a
suiteloader: Handle NBS
If we have this situation

  - Binary in target taken over by new source
  - Not cleaned up yet
  - New source updated in source suite

We can have *three* copies of a source package visible to britney at
once. Handle this case by recording the source package a pkgid was seen
in before.
2020-07-08 20:17:23 +01:00
Iain Lane
3988d700d3
suiteloader: Don't need to do an 'in' check when adding to a set 2020-07-08 20:17:23 +01:00
Iain Lane
6bea01106f
autopkgtest: Retry downloads
If we have a slightly flaky network / endpoint, retrying can help us to
keep going rather than crash & restart.
2020-07-08 20:17:23 +01:00
Iain Lane
73a6e7ff81
excusefinder: Support not having arch-all buildds
On some distros (Ubuntu), arch:all packages are built along with one of
the architectures. We shouldn't be listing 'all' as its own arch in this
case. Instead we filter out the binaries except for on the
'all_buildarch'.
2020-07-08 20:17:23 +01:00
Iain Lane
45515e768c
Support writing excuses YAML to xz and gz files 2020-07-06 12:30:25 +01:00
Colin Watson
21c93cb41e
buildd.debian.org -> launchpad.net 2020-07-06 12:30:25 +01:00
Iain Lane
b6ce105429
Allow HEIDI_OUTPUT to be empty 2020-07-06 12:30:25 +01:00
Iain Lane
daa126b1af
autopkgtest: Save pending.json after every test request
We just had the autopkgtest queues DoSed because britney was crashing
after requesting each reverse dependency for a perl upload, but before
it had written pending.json out so it knew what not to request again.
This was 25,000 requests per arch...

Let's write pending.json straight after sending each request, so that
the next run - even after a crash - won't re-request the same things
again.
2020-07-06 12:30:25 +01:00
Iain Lane
4bd6df3d49
BuildDependsPolicy: handle old python3-apt
Very old versions, such as that run on the Ubuntu archive machine, don't
have the arch parameter.

Handle that by setting APT::Architecture instead
2020-07-06 12:30:25 +01:00
Iain Lane
0cb7a83ef7
autopkgtest: Support Ubuntu's run_id format
These have a hash appended.

We don't actually use the baseline retrying, which is where the ID
parsing is used, but we might as well handle this, not least so we don't
crash.
2020-07-06 12:30:25 +01:00
Iain Lane
672b8a578f
autopkgtest: Allow adt_reference_max_age to be empty 2020-07-06 12:30:25 +01:00
Iain Lane
fa1a7b4cdc
autopkgtest: Add new force-reset-test hint type
This allows hinters to reset the baseline for a package/arch, so that
previous failures are ignore and not considered regressions
2020-07-06 12:30:24 +01:00
Iain Lane
27bf48dcb1
autopkgtest: Only request reference tests when we want them 2020-07-06 12:30:24 +01:00
Iain Lane
c1177a331a
autopkgtest: Support autopkgtest.u.c in-progress URL
This is at /running. We use 'are we running on swift?' as a proxy for
deciding which URL format to use
2020-07-06 12:30:24 +01:00
Iain Lane
92854c72c6
autopkgtest: Handle 'blacklisted' version
The apt version comparison sorts 'blacklisted' greater than most version
numbers, which means that we accidentally apply force hints for version
'blacklisted' to all uploads. Since this is the only case of a hacked
version number, let's special case it so that 'blacklisted' hints only
match packages with 'blacklisted' version.
2020-07-06 12:30:24 +01:00
Iain Lane
55b5dd4aab
autopkgtest: store the submission time when making requests
This is so that we can see more easily see if requests are stuck
2020-07-06 12:30:24 +01:00
Iain Lane
06e8f598ba
Repair requests without testpkg-version
We're supposed to synthesise an "unknown" version for these, but a bug
in the worker meant we didn't do that in some cases and these leaked
into swift. Let's repair it client-side.
2020-07-06 12:30:24 +01:00
Iain Lane
37ba086adf
autopkgtest: Publish AMQP messages persistently
We want to ask the broker to write them out to disk, hoepfully
mitigating against it crashing.
2020-07-06 12:30:24 +01:00
Iain Lane
f63ba5106e
test_autopkgtest: Re-enable test for package not built on arch
This is a test carried over from Ubuntu which ensures that a package
which builds no binaries on an arch doesn't have tests requested.

It was disabled. Enable it.
2020-07-06 12:30:23 +01:00
Iain Lane
8d879b9ee2
autopkgtest: Trigger dkms when there's a dep on dkms
Most DKMS packages do not declare Testsuite: autopkgtest-pkg-dkms, but
we can detect this anyway, and this way we can enforce that the module
is buildable.
2020-07-06 12:30:23 +01:00
Łukasz 'sil2100' Zemczak
4d6250c4fe
Add a new policy to message bugs on SRU regressions
It works like this. We wait until all tests have finished running. and
then grab their results. If there are any regressions, we mail each bug
with a link to pending-sru.html. There's a state file which records the
mails we've sent out, so that we don't mail the same bug multiple times.
2020-07-06 12:30:23 +01:00
Tiago Daitx
1c3ad7cfdd
Link to update-excuse bugs on update_excuses
LP: #1683749
2020-07-06 12:30:23 +01:00
Robert Bruce Park
84892de81a
Email Policy, send emails when packages are rejected. 2020-07-06 12:30:23 +01:00
Robert Bruce Park
82a5e1f5a8
Reject packages if entire source ppa won't migrate 2020-07-06 12:30:23 +01:00
Iain Lane
c604cd9974
BuildDependsPolicy: Make linux* wait on corresponding -meta package
We want to treat linux-$flavor and linux-meta-$flavor as one set in
britney which goes in together or not at all. We never want to promote
linux-$flavor without the accompanying linux-meta-$flavor.

Introduce a synthetic linux* → linux-meta* build-dependency to enforce
this grouping.
2020-07-06 12:30:23 +01:00
Iain Lane
25ec509bb4
autopkgtest: Hardcode some linux-meta tests
We should really fix this to use Testsuite-Triggers / hint-testsuite-triggers
2020-07-06 12:30:22 +01:00
Iain Lane
6f0196fedf
Allow piuparts policy to be disabled by config 2020-07-06 12:30:22 +01:00
Iain Lane
3bfc0321c9
Implement Ubuntu component relationship constraints (ogre model) 2020-07-06 12:30:22 +01:00
Iain Lane
5718f8c903
Store the component in BinaryPackage and SourcePackage 2020-06-29 18:25:41 +01:00
Colin Watson
dbb9883380
Allow blocking uploads by way of bugs with the block-proposed tag set 2020-06-29 18:25:41 +01:00
Iain Lane
243703f7ac
test_autopkgtest: Split setup commands into a separate class
This lets other policies share this code for their integration tests
2020-06-29 18:25:41 +01:00
Colin Watson
843751c5cf
Change date format to seconds-since-epoch 2020-06-29 18:25:40 +01:00
Colin Watson
60c4a4cf20
Add a --distribution option 2020-06-11 13:00:03 +01:00
Colin Watson
c8c8d56bee
Replace %(SERIES) macro in config files with value passed to --series 2020-06-11 13:00:03 +01:00
Colin Watson
4ece0b9dba
Only issue "From wrong source" for binaries not at the same version in testing
Same-version could happen for merged binaries in partial-unstable mode.
2020-06-11 13:00:03 +01:00
Iain Lane
833622ee74
utils: Fix pycodestyle E302 (missing blank line) 2020-06-11 13:00:02 +01:00
Colin Watson
793a7a5e64
Optionally merge packages from testing to unstable
To cope with a partial unstable suite like Ubuntu's -proposed pocket.
2020-06-11 13:00:02 +01:00
Colin Watson
3b8daa98ec
Make sure that containing directories exist before writing output files 2020-06-11 13:00:02 +01:00
Robert Bruce Park
c582733989
Make Heidi optional
Setting HEIDI_OUTPUT to an empty value will skip the heidi generation, to speed
up britney in scenarios where heidi is not needed.
2020-06-11 13:00:02 +01:00
Martin Pitt
883f01740f
Skip piuparts policy if summary file is missing 2020-06-11 13:00:02 +01:00
Colin Watson
af7da4e764
Skip bug-based processing if BugsV is missing 2020-06-11 13:00:02 +01:00
Colin Watson
ba3fec61c3
Use default urgency for all packages if Urgencies is missing 2020-06-11 13:00:02 +01:00
Paul Gevers
dc4ea6ca2c
autopkgtest: remember old results instead of discarting them
For packages with lots of reverse dependencies, new versions of those reverse
dependencies may keep on showing up in testing. If migration is blocked until
the results for these new version, migration may take extremely long. If there
are results for the current trigger but for the previous version of the reverse
dependency, use those until the fresh resuts are available.

Similar for the reference runs.
2020-05-01 21:34:30 +02:00
Paul Gevers
6e6214efe8
autopkgtest: call filter_old_results after adding triggers to avoid code duplication 2020-05-01 21:28:50 +02:00
Ivo De Decker
423f10502e document allow-smooth-update hint 2020-04-01 18:08:53 +00:00