summaryrefslogtreecommitdiff
path: root/Jenkinsfile
diff options
context:
space:
mode:
Diffstat (limited to 'Jenkinsfile')
-rw-r--r--Jenkinsfile91
1 files changed, 69 insertions, 22 deletions
diff --git a/Jenkinsfile b/Jenkinsfile
index b483ac3..a558359 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -1,27 +1,74 @@
pipeline {
- agent { label 'c++20' }
-
+ agent any
stages {
- stage('Build') {
- steps {
- echo 'Building...'
- sh 'rm -Rf build'
- sh './bootstrap.sh'
+ stage('all targets')
+ {
+ parallel {
+ ////////////////////////////////////////////////////
+ stage('MacOSX clang') {
+ agent { label 'macos' }
+ steps {
+ echo 'Cleaning workspace ...'
+ sh 'git clean -d -x -f'
+ echo 'Building (clang) ...'
+ sh 'CXX=/usr/local/opt/llvm/bin/clang++ LDFLAGS="-L/usr/local/opt/llvm/lib/c++ -L/usr/local/opt/llvm/lib/unwind -lunwind" ./bootstrap.sh'
+ echo 'Testing (clang) ...'
+ sh './ctor check'
+ echo 'Testing suite (clang) ...'
+ sh '(cd test/suite; CTORDIR=../../build CXX=/usr/local/opt/llvm/bin/clang++ LDFLAGS="-L/usr/local/opt/llvm/lib/c++ -L/usr/local/opt/llvm/lib/unwind -lunwind" ./test.sh)'
+ }
+ post {
+ always {
+ xunit(thresholds: [ skipped(failureThreshold: '0'),
+ failed(failureThreshold: '0') ],
+ tools: [ CppUnit(pattern: 'build/test/*.xml') ])
+ }
+ }
+ }
+ ////////////////////////////////////////////////////
+ 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') ])
+ }
+ }
+ }
+ ////////////////////////////////////////////////////
}
}
- stage('Test') {
- steps {
- echo 'Testing...'
- sh './ctor check'
- }
- }
- }
-
- post {
- always {
- xunit(thresholds: [ skipped(failureThreshold: '0'),
- failed(failureThreshold: '0') ],
- tools: [ CppUnit(pattern: 'build/test/*.xml') ])
- }
}
-} \ No newline at end of file
+}