node("docker") { docker.image('gstreamer/build-base-ubuntu:latest').inside { env.OUTPREFIX="${env.WORKSPACE}/../output/${params.build_tag}/linux_x86_64/" stage('Checkout') { // FIXME: Only checkout the manifest and not all dependencies ? checkout([$class: 'RepoScm', manifestRepositoryUrl:'git+ssh://git.arracacha.collabora.co.uk/git/gst-manifest.git', manifestBranch:"refs/tags/${params.build_tag}", jobs:4, currentBranch:true, quiet:true, depth:0]) } stage('Setup') { sh "find ../output -maxdepth 1 -ctime +1 | xargs rm -Rf" sh "cd .repo/manifests/; git checkout ${params.build_tag}; cd ../.." sh "rm -Rf ./workdir/sources/linux_x86_64/" sh "rm -f *.rpm" sh "rm -Rf ./workdir/temp; mkdir -p ./workdir/temp" sh "rm -Rf ./workdir/tmp*" // Create custom configuration file sh "./gst-ci-scripts/manifest2cerbero.py .repo/manifests/default.xml ./cerbero/config/linux.config --output localconf.cbc" sh '''echo "home_dir = \\"$WORKSPACE/workdir\\"" >> localconf.cbc''' sh '''echo "logs = \\"$OUTPREFIX/logs\\"" >> localconf.cbc''' sh './cerbero/cerbero-uninstalled -c localconf.cbc show-config' } stage('bootstrap') { sh './cerbero/cerbero-uninstalled -c localconf.cbc bootstrap' sh 'rm -Rf ./workdir/sources/build-tools/' } stage('fetch') { sh './cerbero/cerbero-uninstalled -c localconf.cbc fetch-package --reset-rdeps --full-reset gstreamer-1.0' } stage('package') { sh './cerbero/cerbero-uninstalled -c localconf.cbc package gstreamer-1.0' } stage('Cleanup') { sh 'rm -f *.rpm' sh 'find ../output -maxdepth 1 -ctime +1 | xargs rm -Rf' } // FIXME: IRC Notification } }