814 Commits

Author SHA1 Message Date
Iain Lane
7946be64df test_autopkgtest: Make the version 'blacklisted', to be clearer 2017-01-19 09:51:40 +00:00
Iain Lane
6573a1a5af tests/test_autopkgtest: Make sure that blacklisted (code 99) packages are handled 2017-01-18 17:41:45 +00:00
Martin Pitt
1a53882811 Python 3.2 workaround: Replace FileNotFoundError with {IO,OS}Error
The FileNotFound class is not yet available in Python 3.2, but as long as
snakefruit still runs Ubuntu 12.04 we need to get along without it.
2016-12-12 11:41:31 +01:00
Martin Pitt
fadcea4995 Python 3.2 workaround: Drop usage of clear()
The clear() collection method is not yet available in Python 3.2, but as long
as snakefruit still runs Ubuntu 12.04 we need to get along without it.
2016-12-12 11:38:47 +01:00
Martin Pitt
7c6fd99417 Python 3.2 workaround: Drop usage of enum module
enum is not yet available in Python 3.2, but as long as snakefruit still runs
Ubuntu 12.04 we need to get along without it.
2016-12-12 11:38:47 +01:00
Robert Bruce Park
c5c9c6f979 Reject packages if entire source ppa won't migrate 2016-12-12 11:38:47 +01:00
Martin Pitt
a217ea6ade Add "run-autopkgtest" tool to re-run tests 2016-12-12 11:33:45 +01:00
Martin Pitt
96df4080b9 Add autopkgtest policy
Add new autopkgtest policy: it determines the autopkgtests for a
source package (its own, direct reverse binary dependencies, and
Testsuite-Triggers), requests tests via AMQP, fetches results from swift, and
keeps track of pending tests between run. This also caches the downloaded
results from swift, as re-dowloading them all is very expensive.

This introduces two new hints:

 * force-badtest pkg/ver[/arch]: Failing results for that package will be
   ignored. This is useful to deal with broken tests that get imported from
   Debian or are from under-maintained packages, or broke due to some
   infrastructure changes. These are long-lived usually.

 * force-skiptest pkg/ver: Test results *triggered by* that package (i. e.
   reverse dependencies) will be ignored. This is mostly useful for landing
   packages that trigger a huge amount of tests (glibc, perl) where some tests
   are just too flaky to get them all passing, and one just wants to land it
   after the remaining failures have been checked. This should be used rarely
   and the hints should be removed immediately again.

Add integration tests that call britney in various scenarios on constructed
fake archives, with mocked AMQP and Swift results.
2016-12-12 11:33:45 +01:00
Martin Pitt
65b85ca7e9 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* dependency to enforce this grouping.
2016-12-12 11:33:45 +01:00
Dimitri John Ledkov
d2cde7de2b Teach excuse_unsat_deps() about components ogre model 2016-12-12 11:33:45 +01:00
Colin Watson
158d7ca479 Change date format to seconds-since-epoch 2016-12-12 11:33:44 +01:00
Colin Watson
8b140b3900 Allow blocking uploads by way of bugs with the block-proposed tag set 2016-12-12 11:33:44 +01:00
Colin Watson
b874ff151d Link to wiki documentation 2016-12-12 11:33:44 +01:00
Colin Watson
39fb743f3b Update contact information for Ubuntu 2016-12-12 11:33:44 +01:00
Colin Watson
0fd5a5640d Show links to Launchpad package pages in excuses 2016-12-12 11:33:44 +01:00
Colin Watson
a3b5ebf22d buildd.debian.org -> launchpad.net 2016-12-12 11:33:44 +01:00
Colin Watson
bfb5af7d0b britney.conf: add Ubuntu hinters
Delegate "block" and "unblock" hints to members of ~ubuntu-touch-release.

Add active members of the SRU team to hint permissions.
2016-12-12 11:33:44 +01:00
Colin Watson
072f125caf britney.conf: Ubuntu configuration
- use relative paths
 - set Ubuntu architectures
 - make all output files series specific
 - mark -proposed as a partial suite
 - set mindays to 0 for all urgencies
 - drop tpu and pu
 - disable smooth updates
 - disable removals of obsolete source packages
 - disable components, using old merged package lists for now
2016-12-12 11:33:44 +01:00
Martin Pitt
15aab3348a Store Testsuite-Triggers: list in sources
Compute an inverse trigger → sources map, as that's usually the direction that
britney is interested in.
2016-12-12 11:33:44 +01:00
Martin Pitt
0d43a20471 Store Testsuite: list in sources
Extend read_sources to store the components of Testsuite: as a list.
2016-12-12 11:33:44 +01:00
Colin Watson
7eb3412828 Add a --distribution option 2016-12-12 11:33:44 +01:00
Colin Watson
3db97e9741 Add new --series option
Replace %(SERIES) macro in config files with given value.
2016-12-12 11:33:44 +01:00
Colin Watson
8fb3c782aa 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.
2016-12-12 11:33:44 +01:00
Colin Watson
b144470940 Optionally merge packages from testing to unstable
To cope with a partial unstable suite like Ubuntu's -proposed pocket.
2016-12-12 11:33:44 +01:00
Colin Watson
a2dcb26901 Make sure that containing directories exist before writing output files
We don't use os.makedirs(dir, exist_ok=True) as that is too strict: it fails if
the directory already exists with different permissions (e. g. with 775). Thus
introduce a helper function ensuredir().
2016-12-12 11:33:44 +01:00
Robert Bruce Park
f32a8e37da 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.
2016-12-12 11:33:44 +01:00
Martin Pitt
0c73ebfa98 Skip second-stage upgrade testing if UPGRADE_OUTPUT option is absent or empty
This is useful to speed up britney in dry run mode, if we are only interested
in builds and package tests.
2016-12-12 11:33:44 +01:00
Martin Pitt
e987fedd80 Save policy state before upgrade tester
We might not (want to) run the upgrade tester for some use cases, but we still
need to save the policy state.
2016-12-12 11:33:44 +01:00
Martin Pitt
e93d8ae221 Skip piuparts policy if summary file is missing 2016-12-12 11:33:44 +01:00
Colin Watson
c26dfad9c2 Skip bug-based processing if BugsV is missing 2016-12-12 11:33:44 +01:00
Colin Watson
538d5c61ff Use default urgency for all packages if Urgencies is missing 2016-12-12 11:33:44 +01:00
Martin Pitt
e5f306c5f5 Consider packages with M-A qualifiers for reverse dependencies
Strip of Multi-Arch qualifiers ":any" and ":native" when building the
dependency fields, as they are not part of the package name.

This will fix cases like

  Package: ipython3
  Depends: python3:any (>= 3)

and include ipython3 in python3's reverse dependencies.

Closes: #794194
2016-12-12 11:33:44 +01:00
Iain Lane
8e0405d2e2 hint-tester: Don't lowercase the input
Doing this means that you can't use the hint tester for packages with
uppercase characters in the version, e.g.

  Version mismatch, dreamchess 0.2.1-rc2-2build1 != 0.2.1-RC2-2build1
2016-12-12 08:49:50 +01:00
Emilio Pozuelo Monfort
af7c96142d Add ignore-piuparts to the standard hint set
Signed-off-by: Emilio Pozuelo Monfort <pochu@debian.org>
2016-12-09 08:59:56 +01:00
Niels Thykier
0349cd9477 Implement a mandatory 10 day migration delay
Per https://lists.debian.org/debian-devel-announce/2016/11/msg00002.html

Signed-off-by: Niels Thykier <niels@thykier.net>
2016-12-07 21:39:45 +00:00
Niels Thykier
3e888a9fdf PiupartsPolicy: Improve html message
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-12-04 10:38:15 +00:00
Robert Bruce Park
40ccb4bdc6 Invalidate excuse after each policy run
This fixes commit 497edc to really allow policies to see if the excuse has
already been invalidated by previous policies.

Signed-off-by: Niels Thykier <niels@thykier.net>
2016-11-26 19:34:54 +00:00
Niels Thykier
bcdb2b39cd Add PiupartsPolicy to avoid piuparts regressions
Closes: Debian/britney2#16
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-11-26 17:11:40 +00:00
Niels Thykier
e6e221ad52 Extract a compile_nuninst and move it to utils
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-11-22 21:33:39 +00:00
Niels Thykier
eaf4660918 utils: Replace explicit loop index handling with enumerate
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-11-22 21:33:21 +00:00
Niels Thykier
06504f2ae7 Move invalidate_exuses to utils
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-11-22 21:22:22 +00:00
Niels Thykier
20f2e27873 Fix --print-nuninst + --nuninst-cache
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-11-22 21:21:06 +00:00
Niels Thykier
fd614062ae Minor optimisation of force handling
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-11-22 21:20:45 +00:00
Niels Thykier
56fa65f596 Replace a use of src[X] with src.x
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-11-22 21:08:37 +00:00
Niels Thykier
166a6533ba completer: Replace src[X] with src.X
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-11-22 21:03:40 +00:00
Niels Thykier
0cc7f7a8d2 Move build_installability_tester to builder.py
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-11-22 21:03:40 +00:00
Niels Thykier
7a63784876 Move get_dependency_solvers to utils
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-11-22 21:03:40 +00:00
Niels Thykier
c4be8436db Move read_sources_file to utils
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-11-22 21:03:40 +00:00
Niels Thykier
0f45b195a6 Refactor doop_source to simplify logic
Cleanly split doop_source into a (small) part about source packages
and a (longer) part about binary packages.

Signed-off-by: Niels Thykier <niels@thykier.net>
2016-11-22 20:21:13 +00:00
Niels Thykier
027142e12b Fix bug where compute_groups returned tuple instead of pkg_id
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-11-22 20:21:13 +00:00