summaryrefslogtreecommitdiff
path: root/Jenkinsfile
blob: 290f412c1e634bd9dbc114b75622e7b25d093fac (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
pipeline {
	agent any
	stages {
		////////////////////////////////////////////////////
		stage('Linux gcc') {
			agent { label 'linux && gcc && c++20' }
			steps {
				echo 'Cleaning workspace ...'
				sh 'git clean -d -x -f'
				echo 'Building (gcc) ...'
				sh 'CXX=g++ ./bootstrap.sh'
				echo 'Testing (gcc) ...'
				sh './ctor check'
				echo 'Testing suite (gcc) ...'
				sh '(cd test/suite; CTORDIR=../../build CXX=g++ ./test.sh)'
			}
			post {
				always {
					xunit(thresholds: [ skipped(failureThreshold: '0'),
					                    failed(failureThreshold: '0') ],
					      tools: [ CppUnit(pattern: 'build/test/*.xml') ])
				}
			}
		}
		////////////////////////////////////////////////////
		stage('Linux clang') {
			agent { label 'linux && clang && c++20' }
			steps {
				echo 'Cleaning workspace ...'
				sh 'git clean -d -x -f'
				echo 'Building (clang) ...'
				sh 'CXX=clang++ ./bootstrap.sh'
				echo 'Testing (clang) ...'
				sh './ctor check'
				echo 'Testing suite (clang) ...'
				sh '(cd test/suite; CTORDIR=../../build CXX=clang++ ./test.sh)'
			}
			post {
				always {
					xunit(thresholds: [ skipped(failureThreshold: '0'),
					                    failed(failureThreshold: '0') ],
					      tools: [ CppUnit(pattern: 'build/test/*.xml') ])
				}
			}
		}
		////////////////////////////////////////////////////
	}
}