75 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Groovy
		
	
	
	
	
	
			
		
		
	
	
			75 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Groovy
		
	
	
	
	
	
| void checkout_project(String repoUrl, String branch = 'develop') {
 | |
|     checkout([
 | |
|         $class: 'GitSCM',
 | |
|         branches: [
 | |
|             [name: "*/${branch}"]
 | |
|         ],
 | |
|         extensions: [
 | |
|             [$class: 'CleanBeforeCheckout'],
 | |
|             [$class: 'SubmoduleOption', disableSubmodules: false, parentCredentials: true, recursiveSubmodules: true, reference: '', trackingSubmodules: false]
 | |
|         ],
 | |
|         submoduleCfg: [],
 | |
|         userRemoteConfigs: [
 | |
|             [credentialsId: 'gitea-jenkins', url: repoUrl]
 | |
|         ]
 | |
|     ])
 | |
| }
 | |
| 
 | |
| pipeline {
 | |
|     agent {
 | |
|         docker { 
 | |
|                 image 'git.minres.com/tooling/riscof_sail:latest'
 | |
|                 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"){
 | |
|             steps {
 | |
|                 dir("TGC-COMPLIANCE"){
 | |
|                     checkout_project("https://git.minres.com/TGFS/TGC-COMPLIANCE.git", "master")
 | |
|                 }
 | |
|             }
 | |
|         }
 | |
|         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 --dockerless --backend interp"
 | |
|                     }
 | |
|                 }
 | |
|                 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 --dockerless --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 --dockerless --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 --dockerless --backend llvm"
 | |
|                     }
 | |
|                 }
 | |
|             }
 | |
|         } 
 | |
|     }
 | |
| }
 |