Removes parameters for latest image and simulator path
also addresses latest error
This commit is contained in:
32
Jenkinsfile
vendored
32
Jenkinsfile
vendored
@@ -1,5 +1,7 @@
|
|||||||
def suites = ['threadx', 'smp']
|
def suites = ['threadx', 'smp']
|
||||||
def presets = ['Debug32', 'Release32']
|
def presets = ['Debug32', 'Release32']
|
||||||
|
def simulatorImageLatest = 'git.minres.com/here/here-vp:latest'
|
||||||
|
def threadxTestSimulator = '/usr/local/bin/riscv-vp'
|
||||||
|
|
||||||
def runOneRegression(String suite, String preset, String simulatorPath) {
|
def runOneRegression(String suite, String preset, String simulatorPath) {
|
||||||
def suiteDir = "test/${suite}"
|
def suiteDir = "test/${suite}"
|
||||||
@@ -43,11 +45,11 @@ def resolveImageCommit(String image) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
def runRegressionLane(String image, String simulatorPath, boolean allowFailure) {
|
def runRegressionLane(String image, String simulatorPath, boolean allowFailure, List suiteNames, List presetNames) {
|
||||||
def parallelTasks = [:]
|
def parallelTasks = [:]
|
||||||
|
|
||||||
for (String suite : suites) {
|
for (String suite : suiteNames) {
|
||||||
for (String preset : presets) {
|
for (String preset : presetNames) {
|
||||||
def suiteName = suite
|
def suiteName = suite
|
||||||
def presetName = preset
|
def presetName = preset
|
||||||
def taskName = "${suiteName}-${presetName}"
|
def taskName = "${suiteName}-${presetName}"
|
||||||
@@ -79,16 +81,6 @@ properties([
|
|||||||
name: 'SIMULATOR_IMAGE_PINNED',
|
name: 'SIMULATOR_IMAGE_PINNED',
|
||||||
defaultValue: 'git.minres.com/here/here-vp:ac4f736',
|
defaultValue: 'git.minres.com/here/here-vp:ac4f736',
|
||||||
description: 'Version-pinned Docker image used for the blocking regression lane'
|
description: 'Version-pinned Docker image used for the blocking regression lane'
|
||||||
),
|
|
||||||
string(
|
|
||||||
name: 'SIMULATOR_IMAGE_LATEST',
|
|
||||||
defaultValue: 'git.minres.com/here/here-vp:latest',
|
|
||||||
description: 'Moving Docker image tag used for the canary lane'
|
|
||||||
),
|
|
||||||
string(
|
|
||||||
name: 'THREADX_TEST_SIMULATOR',
|
|
||||||
defaultValue: '/usr/local/bin/riscv-vp',
|
|
||||||
description: 'Absolute path to the simulator executable inside the Docker image'
|
|
||||||
)
|
)
|
||||||
])
|
])
|
||||||
])
|
])
|
||||||
@@ -104,31 +96,31 @@ node {
|
|||||||
|
|
||||||
stage('Check Canary Divergence') {
|
stage('Check Canary Divergence') {
|
||||||
def pinnedCommit = resolveImageCommit(params.SIMULATOR_IMAGE_PINNED)
|
def pinnedCommit = resolveImageCommit(params.SIMULATOR_IMAGE_PINNED)
|
||||||
def latestCommit = resolveImageCommit(params.SIMULATOR_IMAGE_LATEST)
|
def latestCommit = resolveImageCommit(simulatorImageLatest)
|
||||||
|
|
||||||
if (!pinnedCommit) {
|
if (!pinnedCommit) {
|
||||||
error "Missing git-commit label on ${params.SIMULATOR_IMAGE_PINNED}"
|
error "Missing git-commit label on ${params.SIMULATOR_IMAGE_PINNED}"
|
||||||
}
|
}
|
||||||
if (!latestCommit) {
|
if (!latestCommit) {
|
||||||
error "Missing git-commit label on ${params.SIMULATOR_IMAGE_LATEST}"
|
error "Missing git-commit label on ${simulatorImageLatest}"
|
||||||
}
|
}
|
||||||
|
|
||||||
canaryShouldRun = (pinnedCommit != latestCommit)
|
canaryShouldRun = (pinnedCommit != latestCommit)
|
||||||
|
|
||||||
if (canaryShouldRun) {
|
if (canaryShouldRun) {
|
||||||
echo "Canary enabled: ${params.SIMULATOR_IMAGE_LATEST} (${latestCommit}) diverges from ${params.SIMULATOR_IMAGE_PINNED} (${pinnedCommit})"
|
echo "Canary enabled: ${simulatorImageLatest} (${latestCommit}) diverges from ${params.SIMULATOR_IMAGE_PINNED} (${pinnedCommit})"
|
||||||
} else {
|
} else {
|
||||||
echo "Canary skipped: ${params.SIMULATOR_IMAGE_LATEST} and ${params.SIMULATOR_IMAGE_PINNED} both use git-commit ${pinnedCommit}"
|
echo "Canary skipped: ${simulatorImageLatest} and ${params.SIMULATOR_IMAGE_PINNED} both use git-commit ${pinnedCommit}"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
stage('Stable Regression') {
|
stage('Stable Regression') {
|
||||||
runRegressionLane(params.SIMULATOR_IMAGE_PINNED, params.THREADX_TEST_SIMULATOR, false)
|
runRegressionLane(params.SIMULATOR_IMAGE_PINNED, threadxTestSimulator, false, suites, presets)
|
||||||
}
|
}
|
||||||
|
|
||||||
stage('Simulator Canary') {
|
stage('Simulator Canary') {
|
||||||
if (canaryShouldRun) {
|
if (canaryShouldRun) {
|
||||||
runRegressionLane(params.SIMULATOR_IMAGE_LATEST, params.THREADX_TEST_SIMULATOR, true)
|
runRegressionLane(simulatorImageLatest, threadxTestSimulator, true, suites, presets)
|
||||||
} else {
|
} else {
|
||||||
echo 'Skipping canary lane because latest and pinned images are identical.'
|
echo 'Skipping canary lane because latest and pinned images are identical.'
|
||||||
}
|
}
|
||||||
@@ -143,7 +135,7 @@ node {
|
|||||||
if (currentBuild.currentResult == 'SUCCESS') {
|
if (currentBuild.currentResult == 'SUCCESS') {
|
||||||
rocketSend ":thumbsup: ThreadX regression run passed, results at ${env.RUN_DISPLAY_URL} "
|
rocketSend ":thumbsup: ThreadX regression run passed, results at ${env.RUN_DISPLAY_URL} "
|
||||||
} else if (currentBuild.currentResult == 'UNSTABLE') {
|
} else if (currentBuild.currentResult == 'UNSTABLE') {
|
||||||
rocketSend ":warning: ThreadX canary regression is unstable on ${params.SIMULATOR_IMAGE_LATEST}, please check ${env.RUN_DISPLAY_URL} "
|
rocketSend ":warning: ThreadX canary regression is unstable on ${simulatorImageLatest}, please check ${env.RUN_DISPLAY_URL} "
|
||||||
} else if (currentBuild.currentResult == 'FAILURE') {
|
} else if (currentBuild.currentResult == 'FAILURE') {
|
||||||
archiveArtifacts artifacts: 'failed_seeds_*.txt', followSymlinks: false, onlyIfSuccessful: false
|
archiveArtifacts artifacts: 'failed_seeds_*.txt', followSymlinks: false, onlyIfSuccessful: false
|
||||||
rocketSend ":thumbsdown: ThreadX regression failed, please check ${env.RUN_DISPLAY_URL} "
|
rocketSend ":thumbsdown: ThreadX regression failed, please check ${env.RUN_DISPLAY_URL} "
|
||||||
|
|||||||
Reference in New Issue
Block a user