mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-30 12:10:37 +00:00
091946a478
Main differences with previous setup are: - No manifest creation - gst-indent is executed only when the bot is assigned (instead of the manifest task) - Cerbero jobs are triggered in the cerbero repo - Remove cerbero and android related files as they now are in cerbero itself. - Update `container.ps1` to the new file layout Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/891>
71 lines
2.1 KiB
Text
71 lines
2.1 KiB
Text
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: '5',
|
|
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 -p dest'
|
|
sh 'DESTDIR=$PWD/dest ninja -C build install'
|
|
}
|
|
stage('package') {
|
|
sh 'cd dest && tar caJf gstreamer-$BUILD_TAG.tar.xz usr'
|
|
}
|
|
}
|
|
}
|