From: beierlm Date: Fri, 22 Jan 2021 20:53:31 +0000 (-0500) Subject: Snap promotion fix X-Git-Tag: v9.1.0~14 X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2Fdevops.git;a=commitdiff_plain;h=daf90770f05ba1f6a5091942e2de14e8653281b6 Snap promotion fix Changes snapcraft to run directly on host instead of in docker continer. This adds the requirement to have snapcraft installed in the Jenkins agent, but is more reliable as the snapcraft docker image is not the best practice anymore for building snaps. Change-Id: I3c26773a4989551da92a0015749717fe2d622b22 Signed-off-by: beierlm --- diff --git a/jenkins/ci-pipelines/ci_stage_3.groovy b/jenkins/ci-pipelines/ci_stage_3.groovy index de2aaacd..4ba56307 100644 --- a/jenkins/ci-pipelines/ci_stage_3.groovy +++ b/jenkins/ci-pipelines/ci_stage_3.groovy @@ -518,8 +518,9 @@ EOF""" stage("Snap promotion") { def snaps = ["osmclient"] + sh "snapcraft login --with ~/.snapcraft/config" for (snap in snaps) { - channel="" + channel="latest/" if (BRANCH_NAME.startsWith("v")) { channel=BRANCH_NAME.substring(1)+"/" } else if (BRANCH_NAME!="master") { @@ -527,26 +528,19 @@ EOF""" } track=channel+"edge\\*" edge_rev=sh(returnStdout: true, - script: "sudo docker run -v ~/.snapcraft:/snapcraft -v ${WORKSPACE}:/build " + - "-w /build snapcore/snapcraft:stable /bin/bash -c " + - "\"snapcraft login --with /snapcraft/config &>/dev/null && " + - "snapcraft revisions $snap\" | " + + script: "snapcraft revisions $snap | " + "grep \"$track\" | tail -1 | awk '{print \$1}'").trim() + print "edge rev is $edge_rev" track=channel+"beta\\*" beta_rev=sh(returnStdout: true, - script: "sudo docker run -v ~/.snapcraft:/snapcraft -v ${WORKSPACE}:/build " + - "-w /build snapcore/snapcraft:stable /bin/bash -c " + - "\"snapcraft login --with /snapcraft/config &>/dev/null && " + - "snapcraft revisions $snap\" | " + + script: "snapcraft revisions $snap | " + "grep \"$track\" | tail -1 | awk '{print \$1}'").trim() + print "beta rev is $beta_rev" if ( edge_rev != beta_rev ) { print "Promoting $edge_rev to beta in place of $beta_rev" beta_track=channel+"beta" - sh("sudo docker run -v ~/.snapcraft:/snapcraft -v ${WORKSPACE}:/build " + - "-w /build snapcore/snapcraft:stable /bin/bash -c " + - "\"snapcraft login --with /snapcraft/config &>/dev/null && " + - "snapcraft release $snap $edge_rev $beta_track\"") + sh "snapcraft release $snap $edge_rev $beta_track" } } }