summaryrefslogtreecommitdiff
path: root/Jenkinsfile
diff options
context:
space:
mode:
Diffstat (limited to 'Jenkinsfile')
-rw-r--r--Jenkinsfile56
1 files changed, 56 insertions, 0 deletions
diff --git a/Jenkinsfile b/Jenkinsfile
new file mode 100644
index 0000000..c95b0eb
--- /dev/null
+++ b/Jenkinsfile
@@ -0,0 +1,56 @@
+pipeline {
+ agent { label 'c++20' }
+
+ stages {
+ stage('Clean') {
+ steps {
+ echo 'Cleaning workspace ...'
+ sh 'rm -Rf build*'
+ }
+ }
+ stage('Build-gcc') {
+ steps {
+ echo 'Building (gcc) ...'
+ sh 'BUILDDIR=build-gcc CXX=g++ ./bootstrap.sh'
+ }
+ }
+ stage('Test-gcc') {
+ steps {
+ echo 'Testing (gcc) ...'
+ sh './ctor check'
+ }
+ }
+ stage('Test-suite-gcc') {
+ steps {
+ echo 'Testing suite (gcc) ...'
+ sh '(cd test/suite; CTORDIR=../../build-gcc CXX=g++ ./test.sh)'
+ }
+ }
+ stage('Build-clang') {
+ steps {
+ echo 'Building (clang) ...'
+ sh 'BUILDDIR=build-clang CXX=clang++ ./bootstrap.sh'
+ }
+ }
+ stage('Test-clang') {
+ steps {
+ echo 'Testing (clang) ...'
+ sh './ctor check'
+ }
+ }
+ stage('Test-suite-clang') {
+ steps {
+ echo 'Testing suite (clang) ...'
+ sh '(cd test/suite; CTORDIR=../../build-clang CXX=clang++ ./test.sh)'
+ }
+ }
+ }
+
+ post {
+ always {
+ xunit(thresholds: [ skipped(failureThreshold: '0'),
+ failed(failureThreshold: '0') ],
+ tools: [ CppUnit(pattern: 'build-*/test/*.xml') ])
+ }
+ }
+}