// Force time sync to avoid clock drift and invalid certificates
sshCommand remote: remote, command: 'sudo apt-get update'
sshCommand remote: remote, command: 'sudo apt-get install -y chrony'
// Force time sync to avoid clock drift and invalid certificates
sshCommand remote: remote, command: 'sudo apt-get update'
sshCommand remote: remote, command: 'sudo apt-get install -y chrony'
sh "charmcraft status $charm --format json > ${charm}.json"
isCharm = sh(returnStdout: true, script: "grep architecture ${charm}.json | wc -l").trim() as int
if (isCharm) {
sh "charmcraft status $charm --format json > ${charm}.json"
isCharm = sh(returnStdout: true, script: "grep architecture ${charm}.json | wc -l").trim() as int
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'"
- 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'"
+ 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[].releases[] | select(.channel==\"latest/edge/merged\")| .version'"
- jqScriptBeta = "cat ${charm}.json | jq -r '.[] | select(.track==\"$channel\") | .mappings[].releases[] | select(.channel==\"latest/beta\")| .version'"
+ 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"
// edge/merged is used in place of /edge as 10.1.0 LTS uses latest/edge
edge_rev = sh(returnStdout: true, script: jqScriptEdge).trim()
beta_rev = sh(returnStdout: true, script: jqScriptBeta).trim()
// edge/merged is used in place of /edge as 10.1.0 LTS uses latest/edge
edge_rev = sh(returnStdout: true, script: jqScriptEdge).trim()
beta_rev = sh(returnStdout: true, script: jqScriptBeta).trim()