X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=jenkins%2Fci-pipelines%2Fci_stage_3.groovy;h=620faba17fa9d52c2d8f21cece9913eb8aed9385;hb=27da38deb3b184608a6d66ab6bc476506d8d7301;hp=a861283b64f16c308580f6f59c4ae3fe8756b72e;hpb=89c5f55fc5fe30e9f38ef079ebf27ac996183d61;p=osm%2Fdevops.git diff --git a/jenkins/ci-pipelines/ci_stage_3.groovy b/jenkins/ci-pipelines/ci_stage_3.groovy index a861283b..620faba1 100644 --- a/jenkins/ci-pipelines/ci_stage_3.groovy +++ b/jenkins/ci-pipelines/ci_stage_3.groovy @@ -258,7 +258,7 @@ node("${params.NODE}") { parallelSteps = [:] list = ['RO', 'osmclient', 'IM', 'devops', 'MON', 'N2VC', 'NBI', - 'common', 'LCM', 'POL', 'NG-UI', 'PLA', 'tests'] + 'common', 'LCM', 'POL', 'NG-UI', 'NG-SA', 'PLA', 'tests'] if (upstreamComponent.length() > 0) { println("Skipping upstream fetch of ${upstreamComponent}") list.remove(upstreamComponent) @@ -704,12 +704,26 @@ EOF""" withCredentials([string(credentialsId: 'Charmstore', variable: 'CHARMCRAFT_AUTH')]) { sh "charmcraft status $charm --format json > ${charm}.json" isCharm = sh(returnStdout: true, script: "grep architecture ${charm}.json | wc -l").trim() as int + resourceArgument = "" if (isCharm) { - jqScriptEdge = "cat ${charm}.json | jq -r '.[] | select(.track==\"$channel\") | .mappings[] | select(.base.architecture==\"amd64\" and .base.channel==\"20.04\") | .releases[] | select(.channel==\"latest/edge/merged\")| .version'|head -1" - jqScriptBeta = "cat ${charm}.json | jq -r '.[] | select(.track==\"$channel\") | .mappings[] | select(.base.architecture==\"amd64\" and .base.channel==\"20.04\") | .releases[] | select(.channel==\"latest/beta\")| .version'|head -1" + jqScriptEdge = "cat ${charm}.json | jq -r '.[] | select(.track==\"$channel\") | .mappings[] | select(.base.architecture==\"amd64\" and .base.channel==\"20.04\") | .releases[] | select(.channel==\"$channel/edge/merged\")| .version'|head -1" + jqScriptBeta = "cat ${charm}.json | jq -r '.[] | select(.track==\"$channel\") | .mappings[] | select(.base.architecture==\"amd64\" and .base.channel==\"20.04\") | .releases[] | select(.channel==\"$channel/beta\")| .version'|head -1" + index=0 + while (index < 5) { + resourceNameScript = "cat ${charm}.json | jq -r '.[] | select(.track==\"$channel\") | .mappings[] | select(.base.architecture==\"amd64\" and .base.channel==\"20.04\") | .releases[] | select(.channel==\"$channel/edge/merged\")| .resources[$index].name'|head -1" + resourceRevsScript = "cat ${charm}.json | jq -r '.[] | select(.track==\"$channel\") | .mappings[] | select(.base.architecture==\"amd64\" and .base.channel==\"20.04\") | .releases[] | select(.channel==\"$channel/edge/merged\")| .resources[$index].revision'|head -1" + resourceName = sh(returnStdout: true, script: resourceNameScript).trim() + resourceRevs = sh(returnStdout: true, script: resourceRevsScript).trim() + if (resourceName != "null") { + resourceArgument += " --resource ${resourceName}:${resourceRevs}" + } else { + break + } + index ++ + } } else { - jqScriptEdge = "cat ${charm}.json | jq -r '.[] | select(.track==\"$channel\") | .mappings[].releases[] | select(.channel==\"latest/edge/merged\")| .version'|head -1" - jqScriptBeta = "cat ${charm}.json | jq -r '.[] | select(.track==\"$channel\") | .mappings[].releases[] | select(.channel==\"latest/beta\")| .version'|head -1" + jqScriptEdge = "cat ${charm}.json | jq -r '.[] | select(.track==\"$channel\") | .mappings[].releases[] | select(.channel==\"$channel/edge/merged\")| .version'|head -1" + jqScriptBeta = "cat ${charm}.json | jq -r '.[] | select(.track==\"$channel\") | .mappings[].releases[] | select(.channel==\"$channel/beta\")| .version'|head -1" } // edge/merged is used in place of /edge as 10.1.0 LTS uses latest/edge edge_rev = sh(returnStdout: true, script: jqScriptEdge).trim() @@ -717,12 +731,12 @@ EOF""" try { edge_rev = edge_rev as int } catch (NumberFormatException nfe) {edge_rev = 0} try { beta_rev = beta_rev as int } catch (NumberFormatException nfe) {beta_rev = 0} - print "Edge: $edge_rev, Beta: $beta_rev" + print "Edge: $edge_rev, Beta: $beta_rev $resourceArgument" if (edge_rev > beta_rev) { print "Promoting $edge_rev to beta in place of $beta_rev" beta_track = channel + 'beta' - sh "charmcraft release ${charm} --revision=${edge_rev} --channel=${channel}/beta" + sh "charmcraft release ${charm} --revision=${edge_rev} ${resourceArgument} --channel=${channel}/beta" } }