tile/Jenkinsfile
2024-08-09 22:26:20 +08:00

66 lines
1.9 KiB
Groovy

pipeline {
agent {
docker {
image 'art.uocat.com/docker/tqcq/cross:v1.0.0'
}
}
options {
skipDefaultCheckout(true)
}
stages {
stage('Checkout') {
steps {
cleanWs()
checkout scm
}
}
stage('BuildAndTest') {
matrix {
agent {
docker {
image 'art.uocat.com/tqcq/cross:v1.0.1'
}
}
axes {
axis {
name 'BUILD_TYPE'
values 'Debug', 'Release'
}
axis {
name 'TOOLCHAIN'
values 'aarch64-linux-gnu', 'arm-linux-gnueabihf', 'arm-linux-gnueabi', 'host.gcc-m32', 'mips64el-linux-gnuabi64', 'mips-linux-gnu', 'riscv64-linux-gnu'
}
}
stages {
stage('Configure') {
steps {
sh 'cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DTILE_BUILD_TESTS=ON -DTILE_BUILD_BENCHMARKS=ON'
}
}
stage('Build') {
steps {
sh 'cmake --build build --target all -- -j`nproc --ignore=4`'
}
}
stage('Test') {
steps {
sh 'cd build && ctest --output-on-failure -j `nproc --ignore=4`'
}
}
stage('Benchmark') {
steps {
sh 'cd build && ./bin/tile_bm_all'
}
}
}
}
}
}
}