Initial commit

This commit is contained in:
Edward Hervey 2017-10-21 12:07:02 +02:00
commit 74f2d5735c
3 changed files with 146 additions and 0 deletions

11
README.txt Normal file
View file

@ -0,0 +1,11 @@
GStreamer Continuous Integration
================================
This repository contains all material relevant to the GStreamer
Continuous Integration system.
* Jenkins scripts
* Docker images
* Build scripts and code

View file

@ -0,0 +1,66 @@
node('docker') {
docker.image('gstreamer/build-base-fedora:latest').inside {
env.CCACHE_DIR = "${env.WORKSPACE}/.ccache"
env.CCACHE_MAXSIZE = "2G"
env.CC = "ccache gcc"
env.CXX = "ccache g++"
env.MAKEFLAGS = "-j6"
env.PATH = "${env.WORKSPACE}:${env.PATH}"
env.GST_UNINSTALLED_ROOT="${env.WORKSPACE}"
env.HOME="${env.WORKSPACE}"
env.DISPLAY=":0"
stage('Checkout') {
if (params.wipe) {
sh 'rm -Rf *'
}
checkout([$class: 'RepoScm',
manifestRepositoryUrl:'https://git.arracacha.collabora.co.uk/git/gst-manifest.git',
manifestBranch:"refs/tags/${params.build_tag}",
jobs:4,
currentBranch:true,
quiet:true,
depth:0,
mirrorDir:'/repositories'])
}
stage('Cleanup') {
sh 'rm -f **/tests/check/*/*.xml'
}
stage ('Build') {
sh "uname -a"
sh "./gstreamer/scripts/gst-uninstalled ./gst-ci-scripts/ci-build.sh fast-build-only"
}
withEnv(['DISPLAY=:0']) {
stage ('Check') {
env.GST_CHECKS_IGNORE="test_allocate_udp_ports_multicast,test_allocate_udp_ports_client_settings,test_reorder_buffer,test_redirect_yes"
env.GST_CHECK_XML=1
sh 'Xvfb :0 -screen 0 1024x768x24 -fbdir /tmp &'
sh 'env'
sh "./gstreamer/scripts/gst-uninstalled ./gst-ci-scripts/ci-build.sh check"
step([$class: 'XUnitBuilder',
testTimeMargin: '3000', thresholdMode: 1,
thresholds: [[$class: 'FailedThreshold',
failureNewThreshold: '',
failureThreshold: '400',
unstableNewThreshold: '',
unstableThreshold: '1'],
[$class: 'SkippedThreshold',
failureNewThreshold: '',
failureThreshold: '',
unstableNewThreshold: '',
unstableThreshold: '']],
tools: [[$class: 'CheckType',
deleteOutputFiles: true,
failIfNotNew: true,
pattern: '**/tests/check/*/*.xml',
skipNoTestFiles: true,
stopProcessingIfError: true]]])
}
}
}
}

View file

@ -0,0 +1,69 @@
node('docker') {
docker.image('gstreamer/build-meson-fedora:latest').inside {
env.CCACHE_DIR = "${env.WORKSPACE}/.ccache"
env.CCACHE_MAXSIZE = "2G"
env.CC = "ccache gcc"
env.CXX = "ccache g++"
env.MAKEFLAGS = "-j6"
env.PATH = "${env.WORKSPACE}:${env.PATH}"
env.HOME="${env.WORKSPACE}"
env.DISPLAY=":0"
stage('Checkout') {
if (params.wipe) {
sh 'rm -Rf build/'
}
checkout([$class: 'GitSCM', branches: [[name: '*/master']],
doGenerateSubmoduleConfigurations: false,
extensions: [[$class: 'CloneOption',
depth: 0,
noTags: false,
reference: '/gstbuild/gst-build/',
shallow: false]],
submoduleCfg: [],
userRemoteConfigs: [[url: 'git://anongit.freedesktop.org/gstreamer/gst-build']]]
)
sh 'git checkout master && git reset --hard origin/master'
sh 'curl "https://git.arracacha.collabora.co.uk/cgit/gst-manifest.git/plain/default.xml?id=$BUILD_TAG" -k -o manifest.xml'
}
stage('Setup') {
sh './git-update --no-color --manifest=manifest.xml --no-interaction'
sh './setup.py -Ddisable_gstreamer_vaapi=true'
}
stage ('Build') {
sh "ninja -C build"
}
stage ('Check') {
sh "./gst-uninstalled.py gst-validate-launcher --check-bugs --no-display --mute -n check --xunit-file $WORKSPACE/xunit.xml -M $WORKSPACE/validate-output --ignore-numfailures"
step([$class: 'XUnitBuilder',
testTimeMargin: '3000', thresholdMode: 1,
thresholds: [[$class: 'FailedThreshold',
failureNewThreshold: '',
failureThreshold: '400',
unstableNewThreshold: '',
unstableThreshold: '1'],
[$class: 'SkippedThreshold',
failureNewThreshold: '',
failureThreshold: '',
unstableNewThreshold: '',
unstableThreshold: '']],
tools: [[$class: 'JUnitType',
deleteOutputFiles: true,
failIfNotNew: true,
pattern: 'xunit.xml',
skipNoTestFiles: true,
stopProcessingIfError: true]]])
}
stage('install') {
sh 'mkdir dest'
sh 'DESTDIR=$PWD/dest ninja -C build install'
}
}
}