Commit 744a7da1 authored by Harald Sitter's avatar Harald Sitter 🌼

change locking to happen before claiming the node

before we'd claim the node,, enter a stage and then lock the serializer.
while that is fine from a serialization pov it's bogus from a node
pov as we then sit there in the build slot of the node without doing
anything.
so, instead claim the lock and then the node. this way we are basically
"queued" up until we have the lock at which point we then also claim our
build slot
parent aa8a1969
......@@ -26,38 +26,39 @@ properties([
pipelineTriggers([cron('0 H(9-22) * * *')])
])
fancyNode('openqa') {
try {
stage('clone') {
git 'git://anongit.kde.org/sysadmin/neon-openqa.git'
}
stage('rake-test') {
sh 'rake test'
}
stage('iso-handover') {
if (params.ISO) {
echo 'Picking up ISO from trigger job.'
sh "cp -v ${params.ISO} incoming.iso"
lock(inversePrecedence: true, label: 'OPENQA_INSTALL') {
fancyNode('openqa') {
try {
stage('clone') {
git 'git://anongit.kde.org/sysadmin/neon-openqa.git'
}
stage('rake-test') {
sh 'rake test'
}
stage('iso-handover') {
if (params.ISO) {
echo 'Picking up ISO from trigger job.'
sh "cp -v ${params.ISO} incoming.iso"
}
}
}
stage('test_installation') {
wrap([$class: 'LiveScreenshotBuildWrapper', fullscreenFilename: 'wok/qemuscreenshot/last.png']) {
lock(inversePrecedence: true, label: 'OPENQA_INSTALL') {
stage('test_installation') {
wrap([$class: 'LiveScreenshotBuildWrapper', fullscreenFilename: 'wok/qemuscreenshot/last.png']) {
sh 'INSTALLATION=1 bin/contain.rb /workspace/bin/bootstrap.rb'
}
}
}
if (env.ARCHIVE) {
stage('archive-raid') {
sh 'bin/archive.rb'
if (env.ARCHIVE) {
stage('archive-raid') {
sh 'bin/archive.rb'
}
}
} finally {
dir('metadata') { archiveArtifacts '*' }
dir('wok') { archiveArtifacts allowEmptyArchive: true, artifacts: 'testresults/*, ulogs/*, video.*, vars.json, slide.html' }
junit 'junit/*'
sh 'bin/contain.rb chown -R jenkins .'
}
} finally {
dir('metadata') { archiveArtifacts '*' }
dir('wok') { archiveArtifacts allowEmptyArchive: true, artifacts: 'testresults/*, ulogs/*, video.*, vars.json, slide.html' }
junit 'junit/*'
sh 'bin/contain.rb chown -R jenkins .'
}
}
......
......@@ -23,26 +23,27 @@ properties([
pipelineTriggers([cron('0 H(9-22) * * *')])
])
fancyNode('openqa') {
try {
stage('clone') {
git 'git://anongit.kde.org/sysadmin/neon-openqa.git'
}
stage('rake-test') {
sh 'rake test'
}
stage('test_installation') {
wrap([$class: 'LiveScreenshotBuildWrapper', fullscreenFilename: 'wok/qemuscreenshot/last.png']) {
lock(inversePrecedence: true, label: 'OPENQA_INSTALL') {
lock(inversePrecedence: true, label: 'OPENQA_INSTALL') {
fancyNode('openqa') {
try {
stage('clone') {
git 'git://anongit.kde.org/sysadmin/neon-openqa.git'
}
stage('rake-test') {
sh 'rake test'
}
stage('test_installation') {
wrap([$class: 'LiveScreenshotBuildWrapper', fullscreenFilename: 'wok/qemuscreenshot/last.png']) {
sh 'INSTALLATION=1 INSTALLATION_OEM=1 bin/contain.rb /workspace/bin/bootstrap.rb'
}
}
} finally {
dir('metadata') { archiveArtifacts '*' }
dir('wok') { archiveArtifacts allowEmptyArchive: true, artifacts: 'testresults/*, ulogs/*, video.*, vars.json, slide.html' }
junit 'junit/*'
sh 'bin/contain.rb chown -R jenkins .'
}
} finally {
dir('metadata') { archiveArtifacts '*' }
dir('wok') { archiveArtifacts allowEmptyArchive: true, artifacts: 'testresults/*, ulogs/*, video.*, vars.json, slide.html' }
junit 'junit/*'
sh 'bin/contain.rb chown -R jenkins .'
}
}
......
......@@ -22,25 +22,26 @@ properties([
pipelineTriggers([cron('0 H(9-22) * * *')])
])
fancyNode('openqa') {
try {
stage('clone') {
git 'git://anongit.kde.org/sysadmin/neon-openqa.git'
}
stage('rake-test') {
sh 'rake test'
}
stage('test_installation') {
wrap([$class: 'LiveScreenshotBuildWrapper', fullscreenFilename: 'wok/qemuscreenshot/last.png']) {
lock(inversePrecedence: true, label: 'OPENQA_INSTALL') {
lock(inversePrecedence: true, label: 'OPENQA_INSTALL') {
fancyNode('openqa') {
try {
stage('clone') {
git 'git://anongit.kde.org/sysadmin/neon-openqa.git'
}
stage('rake-test') {
sh 'rake test'
}
stage('test_installation') {
wrap([$class: 'LiveScreenshotBuildWrapper', fullscreenFilename: 'wok/qemuscreenshot/last.png']) {
sh 'OPENQA_SECUREBOOT=1 INSTALLATION=1 bin/contain.rb /workspace/bin/bootstrap.rb'
}
}
} finally {
dir('metadata') { archiveArtifacts '*' }
dir('wok') { archiveArtifacts allowEmptyArchive: true, artifacts: 'testresults/*, ulogs/*, video.*, vars.json, slide.html' }
junit 'junit/*'
}
} finally {
dir('metadata') { archiveArtifacts '*' }
dir('wok') { archiveArtifacts allowEmptyArchive: true, artifacts: 'testresults/*, ulogs/*, video.*, vars.json, slide.html' }
junit 'junit/*'
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment