pipeline { agent any options { // using the Timestamper plugin we can add timestamps to the console log timestamps() skipStagesAfterUnstable() } stages { stage('SCC test pipeline') { agent {docker { image 'ubuntu-riscv' } } stages { stage('checkout') { steps { sh 'env' sh 'rm -rf * .??* ' checkout([ $class: 'GitSCM', branches: [ [name: 'refs/heads/' + getBranch()] ], extensions: [ [$class: 'CleanBeforeCheckout'], [$class: 'SubmoduleOption', disableSubmodules: false, recursiveSubmodules: true, trackingSubmodules: false, parentCredentials: true, shallow: true ] ], submoduleCfg: [], userRemoteConfigs: [ [credentialsId: 'gitea-jenkins', url: 'https://git.minres.com/SystemC/SystemC-Components-Test.git'] ] ]) sh ''' pip3 install "conan<2.0" pyucis conan profile new default --detect --force conan remote list | grep minres > /dev/null [ $? ] || conan remote add minres https://git.minres.com/api/packages/Tooling/conan ''' } } stage('build & test') { steps { sh ''' cmake -S . -B build cmake --build build -j12 cmake --build build --target test cmake --build build --target format-check ''' } } } } } post { success { rocketSend ":thumbsup: SCC test run passed, results at ${env.RUN_DISPLAY_URL} " } failure { rocketSend ":thumbsdown: SCC test failed, please check ${env.RUN_DISPLAY_URL} " emailext recipientProviders: [culprits(), requestor()], subject: "SCC Test Pipeline Failed: ${currentBuild.fullDisplayName}", body: """
Build Status: ${currentBuild.currentResult}
Check logs at Build Console Logs or at Overview
""" } } }