Skip to content
Snippets Groups Projects
Commit 85a29aa7 authored by Simon McVittie's avatar Simon McVittie
Browse files

ci: Run autopkgtests on Debian stretch and SteamOS brewmaster

parent 9ce75343
Branches
Tags
1 merge request!311Build capsule-capture-libs from a bundled copy of libcapsule
...@@ -21,19 +21,7 @@ ...@@ -21,19 +21,7 @@
@Library('steamos-ci') _ @Library('steamos-ci') _
pipeline { pipeline {
agent { agent none
docker {
label 'docker-slave'
image "steamos/package-builder:${env.docker_label ?: 'brewmaster'}"
registryUrl 'https://docker-registry.internal.collabora.com'
registryCredentialsId 'ccu-docker-internal-collabora-com'
}
}
environment {
HOME="${env.WORKSPACE}"
TMPDIR="${env.WORKSPACE}"
PYTHONUNBUFFERED="1"
}
options { options {
timestamps() timestamps()
...@@ -41,31 +29,93 @@ pipeline { ...@@ -41,31 +29,93 @@ pipeline {
} }
stages { stages {
stage ("checkout") { stage ("deb-build-snapshot") {
agent {
docker {
label 'docker-slave'
image "docker-registry.internal.collabora.com/steamos/package-builder:${env.CI_SUITE ?: 'brewmaster'}"
registryUrl 'https://docker-registry.internal.collabora.com'
registryCredentialsId 'ccu-docker-internal-collabora-com'
alwaysPull true
}
}
environment {
HOME="${env.WORKSPACE}"
TMPDIR="${env.WORKSPACE}"
PYTHONUNBUFFERED="1"
}
steps { steps {
sh 'git config --global user.name Jenkins' sh '''
sh 'git config --global user.email nobody@example.com' git config --global user.name Jenkins
git config --global user.email nobody@example.com
'''
checkoutCollaboraGitlab('vivek/libcapsule', 'master', 'src') checkoutCollaboraGitlab('vivek/libcapsule', 'master', 'src')
sh 'mkdir -p debs' sh '''
mkdir -p debs
echo "jenkins::$(id -u):$(id -g):Jenkins:$(pwd):/bin/sh" > passwd
export NSS_WRAPPER_PASSWD=$(pwd)/passwd
export NSS_WRAPPER_GROUP=/dev/null
export LD_PRELOAD=libnss_wrapper.so
( cd src && deb-build-snapshot -d ../debs -s -u localhost )
'''
stash name: 'debs', includes: 'debs/**'
archiveArtifacts 'debs/**'
} }
} post {
always {
stage("deb-build-snapshot") { deleteDir()
steps { }
sh '( cd src && deb-build-snapshot -d ../debs -s -u localhost )'
} }
} }
stage("Save output") { stage ("autopkgtest") {
steps { agent {
archiveArtifacts artifacts: 'debs/**' docker {
label 'docker-slave'
args '--device=/dev/kvm'
image 'docker-registry.internal.collabora.com/steamos/package-builder:stretch'
registryUrl 'https://docker-registry.internal.collabora.com'
registryCredentialsId 'ccu-docker-internal-collabora-com'
alwaysPull true
}
} }
} environment {
} HOME="${env.WORKSPACE}"
TMPDIR="${env.WORKSPACE}"
PYTHONUNBUFFERED="1"
}
steps {
sh 'git config --global user.name Jenkins'
sh 'git config --global user.email nobody@example.com'
checkoutCollaboraGitlab('steam/steamos-devkit', 'master', 'src')
unstash 'debs'
sh '''
mkdir -p tmp
mkdir -p output
wget --progress=dot:giga -O autopkgtest.qcow2 https://images.collabora.co.uk/steam/autopkgtest-virt-qemu/${CI_SUITE:=brewmaster}_amd64.qcow2
case "${CI_SUITE}" in
(brewmaster)
set -- --add-apt-source='deb http://deb.debian.org/debian jessie main'
for x in /etc/apt/trusted.gpg.d/*.gpg; do
set -- --copy="$x:$x" "$@"
done
;;
(*)
set --
;;
esac
post { autopkgtest "$@" --apt-upgrade --no-built-binaries --output-dir ./output/ debs/*.deb ./src/ -- qemu --qemu-options="-drive format=raw,read-only,if=pflash,file=/usr/share/ovmf/OVMF.fd" ./autopkgtest.qcow2
always { '''
deleteDir() }
post {
always {
archiveArtifacts 'output/**'
deleteDir()
}
}
} }
} }
} }
/* vim:set sts=2 sw=2 et: */
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment