14c5a68f4240533b054b315454e95f8008201bdc
[platform/upstream/gstreamer.git] / ci / jenkins / Jenkinsfile-cerbero-debian
1 node("docker") {
2     docker.image('gstreamer/build-base-ubuntu:latest').inside {
3
4         env.OUTPREFIX="${env.WORKSPACE}/../output/${params.build_tag}/linux_x86_64/"
5
6         stage('Checkout') {
7             // FIXME: Only checkout the manifest and not all dependencies ?
8             checkout([$class: 'RepoScm',
9                       manifestRepositoryUrl:'git+ssh://git.arracacha.collabora.co.uk/git/gst-manifest.git',
10                       manifestBranch:"refs/tags/${params.build_tag}",
11                       jobs:4,
12                       currentBranch:true,
13                       quiet:true,
14                       depth:0])
15         }
16
17         stage('Setup') {
18             sh "find ../output -maxdepth 1 -ctime +1 | xargs rm -Rf"
19             sh "cd .repo/manifests/; git checkout ${params.build_tag}; cd ../.."
20             sh "rm -Rf ./workdir/sources/linux_x86_64/"
21             sh "rm -f *.rpm"
22             sh "rm -Rf ./workdir/temp; mkdir -p ./workdir/temp"
23             sh "rm -Rf ./workdir/tmp*"
24
25             // Create custom configuration file
26             sh "./gst-ci-scripts/manifest2cerbero.py .repo/manifests/default.xml ./cerbero/config/linux.config --output localconf.cbc"
27             sh '''echo "home_dir = \\"$WORKSPACE/workdir\\"" >> localconf.cbc'''
28             sh '''echo "logs = \\"$OUTPREFIX/logs\\"" >> localconf.cbc'''
29             sh './cerbero/cerbero-uninstalled -c localconf.cbc show-config'
30         }
31
32         stage('bootstrap') {
33             sh './cerbero/cerbero-uninstalled -c localconf.cbc bootstrap'
34             sh 'rm -Rf ./workdir/sources/build-tools/'
35         }
36
37         stage('fetch') {
38             sh './cerbero/cerbero-uninstalled -c localconf.cbc fetch-package --reset-rdeps --full-reset gstreamer-1.0'
39         }
40
41         stage('package') {
42             sh './cerbero/cerbero-uninstalled -c localconf.cbc package gstreamer-1.0'
43         }
44
45         stage('Cleanup') {
46             sh 'rm -f *.rpm'
47             sh 'find ../output -maxdepth 1 -ctime +1 | xargs rm -Rf'
48         }
49         // FIXME: IRC Notification
50     }
51 }