diff --git a/Jenkinsfile b/Jenkinsfile index c25d9c4..7481bb5 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -19,56 +19,71 @@ pipeline { agent { docker { image 'git.minres.com/tooling/riscof_sail:latest' - args ' -e CONAN_USER_HOME=/var/jenkins_home/workspace/riscof_sail' + args '-e CONAN_USER_HOME=/var/jenkins_home/workspace/riscof_sail' } } stages { - stage("Checkout TGC-ISS"){ - steps { - checkout_project("https://git.minres.com/TGFS/TGC-ISS.git", "develop") - } - } - stage("build TGC-ISS"){ - steps { - sh 'conan profile new default --detect --force ' - sh 'cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DWITH_ASMJIT=ON -DWITH_TCC=ON -DWITH_LLVM=ON' - sh 'cmake --build build -j' - } - } - stage("Checkout TGC-Compliance"){ + stage("Checkout TGC-Compliance and TGC-GEN"){ steps { dir("TGC-COMPLIANCE"){ checkout_project("https://git.minres.com/TGFS/TGC-COMPLIANCE.git", "master") } + dir("TGC-GEN"){ + checkout_project("https://git.minres.com/TGFS/TGC-GEN.git", "develop") + } } } - stage("Test backends"){ - parallel { - stage("Test interp") { - steps { - sh "mkdir interp" - sh "python3 TGC-COMPLIANCE/run_act.py -core TGC5C -sim build/dbt-rise-tgc/tgc-sim -w interp --local --backend interp" + stage("generate cores and build TGC-ISS"){ + steps { + sh 'TGC-COMPLIANCE/scripts/generate_all -o dbt-rise-tgc' + sh 'conan profile new default --detect --force' + sh 'cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DWITH_ASMJIT=ON -DWITH_TCC=ON -DWITH_LLVM=ON' + sh 'cmake --build build -j' + } + } + stage('ACT 32bit') { + matrix { + axes { + axis { + name 'CORE' + values 'TGC5A', 'TGC5B', 'TGC5C', 'TGC5D', 'TGC5E' + } + axis { + name 'BACKEND' + values 'interp', 'llvm', 'tcc', 'asmjit' } } - stage("Test tcc") { - steps { - sh "mkdir tcc" - sh "python3 TGC-COMPLIANCE/run_act.py -core TGC5C -sim build/dbt-rise-tgc/tgc-sim -w tcc --local --backend tcc" - } - } - stage("Test asmjit") { - steps { - sh "mkdir asmjit" - sh "python3 TGC-COMPLIANCE/run_act.py -core TGC5C -sim build/dbt-rise-tgc/tgc-sim -w asmjit --local --backend asmjit" - } - } - stage("Test llvm") { - steps { - sh "mkdir llvm" - sh "python3 TGC-COMPLIANCE/run_act.py -core TGC5C -sim build/dbt-rise-tgc/tgc-sim -w llvm --local --backend llvm" + stages { + stage('Run riscof') { + steps { + sh "mkdir ${BACKEND}" + sh "python3 TGC-COMPLIANCE/run_act.py -core ${CORE} -sim build/dbt-rise-tgc/tgc-sim -w ${BACKEND} --local --backend ${BACKEND}" + } } } } - } + } + stage('ACT 64bit') { + matrix { + axes { + axis { + name 'CORE' + values 'TGC6B', 'TGC6C', 'TGC6D', 'TGC6E' + } + axis { + name 'BACKEND' + values 'interp', 'llvm', 'asmjit' + } + } + stages { + stage('Run riscof') { + steps { + sh "mkdir ${BACKEND}" + sh "python3 TGC-COMPLIANCE/run_act.py -core ${CORE} -sim build/dbt-rise-tgc/tgc-sim -w ${BACKEND} --local --backend ${BACKEND}" + } + } + } + } + } } }