000416a983daf8147226044ffe9e3b55fc80f362
[platform/upstream/gstreamer.git] / ci / jenkins / Jenkinsfile-master-fedora
1 node('docker') {
2     docker.image('gstreamer/build-base-fedora:latest').inside {
3         
4         env.CCACHE_DIR = "${env.WORKSPACE}/.ccache"
5         env.CCACHE_MAXSIZE = "2G"
6         env.CC = "ccache gcc"
7         env.CXX = "ccache g++"
8         env.MAKEFLAGS = "-j6"
9         env.PATH = "${env.WORKSPACE}:${env.PATH}"
10         env.GST_UNINSTALLED_ROOT="${env.WORKSPACE}"
11         env.HOME="${env.WORKSPACE}"
12         env.DISPLAY=":0"
13
14         stage('Checkout') {
15             if (params.wipe) {
16                 sh 'rm -Rf *'
17             }
18             checkout([$class: 'RepoScm',
19                     manifestRepositoryUrl:'https://git.arracacha.collabora.co.uk/git/gst-manifest.git',
20                     manifestBranch:"refs/tags/${params.build_tag}",
21                     jobs:4,
22                     currentBranch:true,
23                     quiet:true,
24                     depth:0,
25                     mirrorDir:'/repositories'])
26         }
27         
28         stage('Cleanup') {
29             sh 'rm -f **/tests/check/*/*.xml'
30         }
31         
32         stage ('Build') {
33             sh "uname -a"
34             sh "./gstreamer/scripts/gst-uninstalled ./gst-ci-scripts/ci-build.sh fast-build-only"
35         }
36
37         withEnv(['DISPLAY=:0']) {
38             stage ('Check') {
39                 env.GST_CHECKS_IGNORE="test_allocate_udp_ports_multicast,test_allocate_udp_ports_client_settings,test_reorder_buffer,test_redirect_yes"
40                 env.GST_CHECK_XML=1
41                 sh 'Xvfb :0 -screen 0 1024x768x24 -fbdir /tmp &'
42                 sh 'env'
43                 sh "./gstreamer/scripts/gst-uninstalled ./gst-ci-scripts/ci-build.sh check"
44
45                 step([$class: 'XUnitBuilder',
46                         testTimeMargin: '3000', thresholdMode: 1,
47                         thresholds: [[$class: 'FailedThreshold',
48                                 failureNewThreshold: '',
49                                 failureThreshold: '400',
50                                 unstableNewThreshold: '',
51                                 unstableThreshold: '1'],
52                             [$class: 'SkippedThreshold',
53                                 failureNewThreshold: '',
54                                 failureThreshold: '',
55                                 unstableNewThreshold: '',
56                                 unstableThreshold: '']],
57                         tools: [[$class: 'CheckType',
58                                 deleteOutputFiles: true,
59                                 failIfNotNew: true,
60                                 pattern: '**/tests/check/*/*.xml',
61                                 skipNoTestFiles: true,
62                                 stopProcessingIfError: true]]])
63             }
64         }
65     }
66 }