TGC-ISS/Jenkinsfile

95 lines
3.2 KiB
Plaintext
Raw Normal View History

2024-05-22 14:05:29 +02:00
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'
2024-07-11 09:41:06 +02:00
args '-e CONAN_USER_HOME=/var/jenkins_home/workspace/riscof_sail'
2024-05-22 14:05:29 +02:00
}
}
stages {
2024-07-11 09:41:06 +02:00
stage("Checkout TGC-Compliance and TGC-GEN"){
steps {
2024-07-11 09:41:06 +02:00
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")
}
}
}
2024-07-11 10:04:35 +02:00
stage("generate cores "){
agent {docker { image 'ubuntu-riscv' } }
2024-05-22 14:05:29 +02:00
steps {
2024-07-11 09:52:02 +02:00
sh 'TGC-GEN/scripts/generate_all.sh -o dbt-rise-tgc'
2024-07-11 10:04:35 +02:00
}
}
stage("build TGC-ISS"){
steps {
2024-07-11 09:41:06 +02:00
sh 'conan profile new default --detect --force'
2024-05-31 10:59:02 +02:00
sh 'cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DWITH_ASMJIT=ON -DWITH_TCC=ON -DWITH_LLVM=ON'
2024-05-22 15:58:39 +02:00
sh 'cmake --build build -j'
2024-05-22 14:05:29 +02:00
}
}
2024-07-11 09:41:06 +02:00
stage('ACT 32bit') {
matrix {
axes {
axis {
name 'CORE'
values 'TGC5A', 'TGC5B', 'TGC5C', 'TGC5D', 'TGC5E'
}
axis {
name 'BACKEND'
values 'interp', 'llvm', 'tcc', 'asmjit'
}
}
2024-07-11 09:41:06 +02:00
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}"
}
2024-05-31 10:59:02 +02:00
}
}
2024-07-11 09:41:06 +02:00
}
}
stage('ACT 64bit') {
matrix {
axes {
axis {
name 'CORE'
values 'TGC6B', 'TGC6C', 'TGC6D', 'TGC6E'
}
axis {
name 'BACKEND'
values 'interp', 'llvm', 'asmjit'
}
}
2024-07-11 09:41:06 +02:00
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}"
}
2024-05-22 15:35:02 +02:00
}
2024-05-22 15:33:40 +02:00
}
}
2024-07-11 09:41:06 +02:00
}
2024-05-22 14:05:29 +02:00
}
}