Strider

Automatizacion de testing

Actualmente existe un servicio en http://ci.huayragnulinux.com.ar/ para automatizar las tareas de compilar y test de paquetes.

Circuito

Normalmente nosotros enviabamos los cambios a github y luego, lo descargabamos, compilabamos con `pbuilder`/`pdebuild`, firmabamos y subiamos a `reprepro`.
Ahora es levemente mas automatico, automatizando algunos pasos, dejando al circuito de la siguiente manera:

1. Enviamos cambios a github
2. En http://ci.huayragnulinux.com.ar/ agregamos al paquete que necesitamos compilar.
3. Configuramos el plugin `strider-debian` en el dashboard del paquete y seleccionamos las opciones correspondientes.
4. Seleccionamos `Deploy` y esperamos a recibir un mail con el resultado.
5. Firmamos el archivo `changes` del paquete y este deberia subirse automaticamente a `reprepro`

Software utilizado + Scripts

Server-side

Strider CI, piuparts, pbuilder, devscripts, quilt, uscan, git, gpg, watchdog.

Adicionalmente, estos scripts son necesarios:

#!/bin/bash
# scp-if-signed

GPG=`which gpg`;
CHANGES_FILE=$1;

$GPG --verify $CHANGES_FILE > /dev/null 2>&1;

[ $? -eq 0 ] && dput huayra $CHANGES_FILE;


#!/bin/sh
# watchdog-scp

watchmedo shell-command \
    --patterns="*.changes,*.dsc" \
    --recursive \
    --command='/var/lib/strider/scripts/scp-if-signed "${watch_src_path}"' \
    /var/lib/strider/result

Client-side

dpkg-buildpackage, debsign, gpg.

Adicionalmente, este script deberia facilitar la tarea de firmar el changes de manera remora.

#!/bin/sh
# debsign-remote

AUTO_BUILD_USER="strider";
AUTO_BUILD_MACHINE="ci-huayra.local";
AUTO_BUILD_RESULT="/var/lib/strider/result/";
DEBSIGN=`which debsign`;
AUTO_BUILD_DPUT="/var/lib/strider/scripts/dput-if-signed";
SSH=`which ssh`;
CHANGES_FILE=$1;

${DEBSIGN} -r ${AUTO_BUILD_USER}@${AUTO_BUILD_MACHINE}:${AUTO_BUILD_RESULT}${CHANGES_FILE}

${SSH} ${AUTO_BUILD_USER}@${AUTO_BUILD_MACHINE} "${AUTO_BUILD_DPUT} ${AUTO_BUILD_RESULT}${CHANGES_FILE}"