~ubuntu-release/britney/+git/britney2-ubuntu:pre-rebase-2016-10-25

Last commit made on 2016-10-12
Get this branch:
git clone -b pre-rebase-2016-10-25 https://git.launchpad.net/~ubuntu-release/britney/+git/britney2-ubuntu
Members of Ubuntu Release Team can upload to this branch. Log in for directions.

Branch merges

Branch information

Name:
pre-rebase-2016-10-25
Repository:
lp:~ubuntu-release/britney/+git/britney2-ubuntu

Recent commits

eac1bf3... by Martin Pitt

Re-fix merging of source packages

We need complete copies of the SourcePackage objects, as we might later find
some binaries which are only in unstable.

Traceback (most recent call last):
  File "/home/ubuntu-archive/proposed-migration/code/b2/britney.py", line 3290, in <module>
    Britney().main()
  File "/home/ubuntu-archive/proposed-migration/code/b2/britney.py", line 3261, in main
    self.write_excuses()
  File "/home/ubuntu-archive/proposed-migration/code/b2/britney.py", line 1963, in write_excuses
    if should_upgrade_srcarch(pkg, arch, 'unstable'):
  File "/home/ubuntu-archive/proposed-migration/code/b2/britney.py", line 1534, in should_upgrade_srcarch
    False)
  File "/home/ubuntu-archive/proposed-migration/code/b2/britney.py", line 2294, in _compute_groups
    if binaries_t[parch][0][binary].source != source_name:
KeyError: 'kicad'

2e3a6c2... by Martin Pitt

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.

9f3b7a2... by Martin Pitt

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.

6ba940c... by Martin Pitt

Add "run-autopkgtest" tool to re-run tests

943621d... by Martin Pitt

Add autopkgtest integration

Add new module autopkgtest.py with the logic for determining the tests for a
source package, requesting tests via AMQP, fetching results from swift, and
keeping track of pending tests between run. This also caches the downloaded
results from swift, as re-dowloading them all is very expensive.

Integrate this into britney.py:

 * In should_upgrade_src(), check whether a package is built everywhere and
   installable (run_autopkgtest), and good enough to run autopkgtests for it
and its reverse dependencies.

 * In write_excuses(), generate test requests for all excuses and create blocks
   for those that cause test regresssions.

This introduces two new hints:

 * force-badtest pkg/ver: 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.

d99e769... by Martin Pitt

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.

420e83b... by Dimitri John Ledkov

Teach excuse_unsat_deps() about components ogre model

73650fc... by Colin Watson

Change date format to seconds-since-epoch

78a4959... by Colin Watson

Allow blocking uploads by way of bugs with the block-proposed tag set

372c347... by Colin Watson

Link to wiki documentation