LocalSetup

Differences between revisions 4 and 5
Revision 4 as of 2015-11-17 08:09:06
Size: 3946
Editor: pitti
Comment: document how to run against a PPA
Revision 5 as of 2015-11-17 17:50:34
Size: 3937
Editor: pitti
Comment: drop leftover sentence start
Deletions are marked like this. Additions are marked like this.
Line 28: Line 28:
 You can skip this step, then the test requests will simply go into the void. You can  You can skip this step, then the test requests will simply go into the void.

This page describes how to set up proposed-migration on a clean system.

Installability checks and autopkgtests

In the simplest case you just want to reproduce the "first stage" of britney2-ubuntu, which checks that -proposed packages were built on all expected architectures, are installable by themselves, issue autopkgtests, collect their test results, and produce a production-like excuses.html and excuses.yaml.

  • Check out the code:
    bzr branch lp:~ubuntu-release/britney/britney2-ubuntu
    cd britney2-ubuntu
    wget http://people.canonical.com/~pitti/scripts/britney-indexes

    The britney-indexes script downloads the source and binary package indexes to data/<series> and data/<series>-proposed.

  • The default ./britney.conf contains the production values for the architecture list, autopkgtest AMQP server (but without the actual password) and swift. For a purely local run you need to install the rabbitmq-server package, either locally or into a container, and adjust ADT_AMQP accordingly; use amqp://localhost or amqp://10.0.3.XXX respectively (this will use the default guest user of RabbitMQ).

  • If you care about inspecting the issued autopkgtest requests in the AMQP queues, you need to declare them for a particular Ubuntu series:
    sudo apt-get install -y amqp-tools
    for arch in i386 amd64 armhf ppc64el; do
        amqp-declare-queue -u amqp://<server IP> -d -q debci-xenial-$arch
    done
    You can skip this step, then the test requests will simply go into the void.
  • Download archive indexes for the desired Ubuntu series:
    ./britney-indexes xenial
  • Run britney for the same series:
    ./britney.py -c britney.conf --series=xenial -v

    You will then have the excuses.* and some other files in output/xenial/.

  • The list of issued test requests can be found in data/xenial-proposed/autopkgtest/pending.txt. If you declared AMQP queues above, you can also read/flush them, e. g.

    while amqp-get -u amqp://<server IPP> -q debci-xenial-armhf; do echo; done

Installability checks and autopkgtests against a PPA

This works similarly to the above, except that the PPA is now playing the role of series-proposed. Download and use the britney-indexes-ppa scripts instead and run it with the PPA's archive URL:

wget http://people.canonical.com/~pitti/scripts/britney-indexes-ppa
./britney-indexes-ppa vivid http://ppa.launchpad.net/ci-train-ppa-service/stable-phone-overlay/ubuntu
./britney.py -c britney.conf --series=vivid -v

If you have a PPA which only builds packages for i386 and amd64, you need to run britney's build/installability checks against this reduced list:

./britney-indexes-ppa xenial http://ppa.launchpad.net/pitti/systemd/ubuntu/
./britney.py -c britney.conf --series=xenial -v --architectures='i386 amd64'

Full Ubuntu production setup

The full Ubuntu production setup is done by britney1-ubuntu. This creates the archive index lists, per-series configuration files, calls the first and second stages of britney2-ubuntu, and issues the actual copying of packages from -proposed to -release. It assumes having a local mirror and a helper script promote-to-release which does the actual copying.

TODO: Fully document and/or provide charm for this.

ProposedMigration/LocalSetup (last edited 2023-08-11 15:29:52 by tsimonq2)