summaryrefslogtreecommitdiff
path: root/Jenkinsfile
diff options
context:
space:
mode:
Diffstat (limited to 'Jenkinsfile')
-rw-r--r--Jenkinsfile48
1 files changed, 48 insertions, 0 deletions
diff --git a/Jenkinsfile b/Jenkinsfile
new file mode 100644
index 0000000..290f412
--- /dev/null
+++ b/Jenkinsfile
@@ -0,0 +1,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') ])
+ }
+ }
+ }
+ ////////////////////////////////////////////////////
+ }
+}