summaryrefslogtreecommitdiff
path: root/Jenkinsfile
diff options
context:
space:
mode:
authorBent Bisballe Nyeng <deva@aasimon.org>2023-01-25 15:46:32 +0100
committerBent Bisballe Nyeng <deva@aasimon.org>2023-01-25 15:46:32 +0100
commit94a8a3bfd26c6aa440f78af3cd4c799e15cfc558 (patch)
treea5b53c929ed262d81ee27d30497a3fbb446e3918 /Jenkinsfile
parenta38c6682e4fb1f45aa1f37d10c2480aa517ea3bc (diff)
Diffstat (limited to 'Jenkinsfile')
-rw-r--r--Jenkinsfile104
1 files changed, 51 insertions, 53 deletions
diff --git a/Jenkinsfile b/Jenkinsfile
index c95b0eb..2d8d7da 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -1,56 +1,54 @@
-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') ])
- }
- }
+matrix {
+ axes {
+ axis {
+ name 'PLATFORM'
+ values 'linux', 'mac', 'windows'
+ }
+ axis {
+ name 'BROWSER'
+ values 'chrome', 'edge', 'firefox', 'safari'
+ }
+ axis {
+ name 'ARCHITECTURE'
+ values '32-bit', '64-bit'
+ }
+ }
+ excludes {
+ exclude {
+ // 4 cells
+ axis {
+ name 'PLATFORM'
+ values 'mac'
+ }
+ axis {
+ name 'ARCHITECTURE'
+ values '32-bit'
+ }
+ }
+ exclude {
+ // 2 cells
+ axis {
+ name 'PLATFORM'
+ values 'linux'
+ }
+ axis {
+ name 'BROWSER'
+ values 'safari'
+ }
+ }
+ exclude {
+ // 3 more cells and '32-bit, mac' (already excluded)
+ axis {
+ name 'PLATFORM'
+ notValues 'windows'
+ }
+ axis {
+ name 'BROWSER'
+ values 'edge'
+ }
+ }
+ }
}
+