summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEdward Hervey <bilboed@bilboed.com>2017-05-20 10:24:34 +0200
committerEdward Hervey <bilboed@bilboed.com>2017-05-20 10:25:10 +0200
commitcfbb672f1b85dcaf9906ba2339706a2f71cde205 (patch)
tree6dbae46c6f6c8593ff9cb0142c4ac05626440adc
parent051bd705fa86ee78e0cfd725b3259b94105a9ba7 (diff)
JenkinsFile-master: First attempt at pipelines
-rw-r--r--JenkinsFile-master59
1 files changed, 59 insertions, 0 deletions
diff --git a/JenkinsFile-master b/JenkinsFile-master
new file mode 100644
index 0000000..1d0ec67
--- /dev/null
+++ b/JenkinsFile-master
@@ -0,0 +1,59 @@
+node("linux") {
+
+ env.CC = "ccache gcc"
+ env.CXX = "ccache g++"
+ env.MAKEFLAGS = "-j3"
+ env.GST_UNINSTALLED_ROOT="${env.WORKSPACE}"
+
+ stage('Checkout') {
+ 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('Cleanup') {
+ sh 'rm -f **/tests/check/*/*.xml'
+ }
+
+ stage ('Build') {
+ sh "./gstreamer/scripts/gst-uninstalled ./gst-ci-scripts/ci-build.sh fast-build-only"
+ }
+
+ wrap([$class: 'Xvfb', additionalOptions: '', assignedLabels: '', installationName: 'default', parallelBuild: true]) {
+ stage ('Check') {
+ sh 'ls -la **/tests/check/*/*.xml'
+
+ 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 "./gstreamer/scripts/gst-uninstalled ./gst-ci-scripts/ci-build.sh check"
+
+ step([$class: 'XUnitBuilder',
+ testTimeMargin: '3000', thresholdMode: 1,
+ thresholds: [[$class: 'FailedThreshold',
+ failureNewThreshold: '',
+ failureThreshold: '4',
+ unstableNewThreshold: '',
+ unstableThreshold: '1'],
+ [$class: 'SkippedThreshold',
+ failureNewThreshold: '',
+ failureThreshold: '',
+ unstableNewThreshold: '',
+ unstableThreshold: '']],
+ tools: [[$class: 'CheckType',
+ deleteOutputFiles: true,
+ failIfNotNew: true,
+ pattern: '**/tests/check/*/*.xml',
+ skipNoTestFiles: true,
+ stopProcessingIfError: true]]])
+ }
+ }
+
+ stage('Post Cleanup') {
+ sh 'find output/ -ctime +3 | xargs rm -Rf'
+ }
+ // FIXME: IRC Notification
+}