Note this is in progress, I either want to move the check function somewhere else, or convert the printf calls to something else (I imagine some kind of log function exists?)
199 lines
4.6 KiB
Groovy
199 lines
4.6 KiB
Groovy
@Library('xmos_jenkins_shared_library@v0.16.2') _
|
|
|
|
getApproval()
|
|
|
|
pipeline {
|
|
agent none
|
|
environment {
|
|
REPO = 'lib_xua'
|
|
VIEW = getViewName(REPO)
|
|
}
|
|
options {
|
|
skipDefaultCheckout()
|
|
}
|
|
stages {
|
|
stage('Basic tests') {
|
|
agent {
|
|
label 'x86_64&&brew'
|
|
}
|
|
stages {
|
|
stage('Get view') {
|
|
steps {
|
|
xcorePrepareSandbox("${VIEW}", "${REPO}")
|
|
}
|
|
}
|
|
stage('Library checks') {
|
|
steps {
|
|
xcoreLibraryChecks("${REPO}")
|
|
}
|
|
}
|
|
stage('XS2 Tests') {
|
|
failFast true
|
|
parallel {
|
|
stage('Legacy tests') {
|
|
steps {
|
|
runXmostest("${REPO}", 'legacy_tests')
|
|
}
|
|
}
|
|
stage('Unit tests') {
|
|
steps {
|
|
dir("${REPO}") {
|
|
dir('tests') {
|
|
dir('xua_unit_tests') {
|
|
withVenv {
|
|
runWaf('.', "configure clean build --target=xcore200")
|
|
// runWaf('.', "configure clean build --target=xcoreai")
|
|
// stash name: 'xua_unit_tests', includes: 'bin/*xcoreai.xe, '
|
|
viewEnv() {
|
|
runPython("TARGET=XCORE200 pytest -n1 -s")
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
// stage('xcore.ai Verification') {
|
|
// agent {
|
|
// label 'xcore.ai-explorer'
|
|
// }
|
|
// options {
|
|
// skipDefaultCheckout()
|
|
// }
|
|
// stages{
|
|
// stage('Get View') {
|
|
// steps {
|
|
// xcorePrepareSandbox("${VIEW}", "${REPO}")
|
|
// }
|
|
// }
|
|
// stage('Unit tests') {
|
|
// steps {
|
|
// dir("${REPO}") {
|
|
// dir('tests') {
|
|
// dir('xua_unit_tests') {
|
|
// withVenv {
|
|
// unstash 'xua_unit_tests'
|
|
// viewEnv() {
|
|
// runPython("TARGET=XCOREAI pytest -s")
|
|
// }
|
|
// }
|
|
// }
|
|
// }
|
|
// }
|
|
// }
|
|
// }
|
|
// } // stages
|
|
// post {
|
|
// cleanup {
|
|
// cleanWs()
|
|
// }
|
|
// }
|
|
// }
|
|
stage('xCORE builds') {
|
|
steps {
|
|
dir("${REPO}") {
|
|
xcoreAllAppNotesBuild('examples')
|
|
dir("${REPO}") {
|
|
runXdoc('doc')
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
post {
|
|
cleanup {
|
|
xcoreCleanSandbox()
|
|
}
|
|
}
|
|
}
|
|
stage('Build host apps') {
|
|
failFast true
|
|
parallel {
|
|
stage('Build Linux host app') {
|
|
agent {
|
|
label 'x86_64&&brew&&linux'
|
|
}
|
|
steps {
|
|
xcorePrepareSandbox("${VIEW}", "${REPO}")
|
|
dir("${REPO}/${REPO}/host/xmosdfu") {
|
|
sh 'make -f Makefile.Linux64'
|
|
}
|
|
}
|
|
post {
|
|
cleanup {
|
|
xcoreCleanSandbox()
|
|
}
|
|
}
|
|
}
|
|
stage('Build Mac host app') {
|
|
agent {
|
|
label 'x86_64&&brew&&macOS'
|
|
}
|
|
steps {
|
|
xcorePrepareSandbox("${VIEW}", "${REPO}")
|
|
dir("${REPO}/${REPO}/host/xmosdfu") {
|
|
sh 'make -f Makefile.OSX64'
|
|
}
|
|
}
|
|
post {
|
|
cleanup {
|
|
xcoreCleanSandbox()
|
|
}
|
|
}
|
|
}
|
|
stage('Build Pi host app') {
|
|
agent {
|
|
label 'pi'
|
|
}
|
|
steps {
|
|
dir("${REPO}") {
|
|
checkout scm
|
|
dir("${REPO}/host/xmosdfu") {
|
|
sh 'make -f Makefile.Pi'
|
|
}
|
|
}
|
|
}
|
|
post {
|
|
cleanup {
|
|
xcoreCleanSandbox()
|
|
}
|
|
}
|
|
}
|
|
stage('Build Windows host app') {
|
|
agent {
|
|
label 'x86_64&&windows'
|
|
}
|
|
steps {
|
|
dir("${REPO}") {
|
|
checkout scm
|
|
dir("${REPO}/host/xmosdfu") {
|
|
runVS('nmake /f Makefile.Win32')
|
|
}
|
|
}
|
|
}
|
|
post {
|
|
cleanup {
|
|
xcoreCleanSandbox()
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
stage('Update') {
|
|
agent {
|
|
label 'x86_64&&brew'
|
|
}
|
|
steps {
|
|
updateViewfiles()
|
|
}
|
|
post {
|
|
cleanup {
|
|
xcoreCleanSandbox()
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|