diff --git a/jenkins/ci-pipelines/ci_stage_3.groovy b/jenkins/ci-pipelines/ci_stage_3.groovy
index 70f350f..620faba 100644
--- a/jenkins/ci-pipelines/ci_stage_3.groovy
+++ b/jenkins/ci-pipelines/ci_stage_3.groovy
@@ -704,9 +704,23 @@
                                 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==\"$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==\"$channel/edge/merged\")| .version'|head -1"
                                         jqScriptBeta = "cat ${charm}.json | jq -r '.[] | select(.track==\"$channel\") | .mappings[].releases[] | select(.channel==\"$channel/beta\")| .version'|head -1"
@@ -717,12 +731,12 @@
                                     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"
                                     }
 
                                 }
