Committing Britney changes
This page describes how to make code changes for Britney (testing migration script) and set them live. It is mostly interesting for the members of release team, performing the changes. Britney2 (b2) is the actual tool making the migrations. There are also some infrastructure scripts related to Britney2 (e.g. the cronjob) which is currently stored in the old Britney repository (b1).
A word on style: right now the Python code for b1 is written without expanding the tabs (bad) while for b2 the tabs are set to 4 positions and expanded (good). Please make sure that you follow this style. For example, if you are using vim to do the code changes, make that you have the following settings in your ~/.vimrc for the b2 code:
set tabstop=4 set softtabstop=4 set expandtab
For the b1 repository you either need to remove set expandtab or turn it off in your session using :set noexpandtab.
Clone Britney git repositories (the read-write links requires ssh access to release.debian.org):
git clone ssh://release.debian.org/srv/release.debian.org/git/britney1.git (read-write) git clone ssh://release.debian.org/srv/release.debian.org/git/britney2.git (read-write) git clone https://anonscm.debian.org/git/mirror/britney1.git (read-only) git clone https://anonscm.debian.org/git/mirror/britney2.git (read-only)
This will clone the master branch by default, to which all commits should go.
- Make your code changes for one or both versions.
- Test your Britney2 changes against the test suite
https://salsa.debian.org/debian/britney2-tests (test runner and basic suite)
https://salsa.debian.org/debian/britney-tests-live-data (live-data test samples)
- Have your changes reviewed by another member of the release team.
- Commit the changes to your local repository:
git commit -a -s
Push the changes to the repository on release.debian.org:
Log in to release.debian.org and become a release user:
sudo -u release bash
In order to do this, you will need to set your sudo password, which can be done through http://db.debian.org.
Pull the changes from the master to ftp-master branch. To do that use the live tree at /srv/release.debian.org/britney/code. For example, to merge the changes for b2 issue the following commands:
cd /srv/release.debian.org/britney/code/b2 git pull
Repeat the same for b1, if necessary. This will merge the changes into ftp-master branch, and simultaneously set them live.