Set correct Ruby version for OS kitchen tests
- also update envOverrides
Related: PROD-26476 (PROD:26476)
Change-Id: I690037545826a595e01e8b0fee9ca1b9d3b3974a
diff --git a/test-salt-formulas-pipeline.groovy b/test-salt-formulas-pipeline.groovy
index 6d7e622..d7dcd40 100644
--- a/test-salt-formulas-pipeline.groovy
+++ b/test-salt-formulas-pipeline.groovy
@@ -22,6 +22,7 @@
envOverrides = []
futureFormulas = []
failedFormulas = []
+kitchenFileName = ''
def setupRunner(defaultGitRef, defaultGitUrl) {
def branches = [:]
@@ -174,18 +175,21 @@
}/** TODO: End of block for removal */
} else {
if (checkouted) {
- if (fileExists(".kitchen.yml") || fileExists(".kitchen.openstack.yml")) {
- if (fileExists(".kitchen.openstack.yml")) {
- common.infoMsg("Openstack Kitchen test configuration found, running Openstack kitchen tests.")
- envOverrides.add("KITCHEN_YAML=.kitchen.openstack.yml")
- if (fileExists(".kitchen.yml")) {
- common.infoMsg("Ignoring the docker Kitchen test configuration file.")
- }
- } else {
- common.infoMsg("Docker Kitchen test configuration found, running Docker kitchen tests.")
- }
+ if (fileExists(".kitchen.openstack.yml")) {
+ common.infoMsg("Openstack Kitchen test configuration found, running Openstack kitchen tests.")
+ kitchenFileName = ".kitchen.openstack.yml"
+ envOverrides.add("KITCHEN_YAML=${kitchenFileName}")
+ } else if (fileExists(".kitchen.yml")) {
+ common.infoMsg("Docker Kitchen test configuration found, running Docker kitchen tests.")
+ kitchenFileName = ".kitchen.yml"
+ }
+ if (kitchenFileName) {
def kitchenEnvs = []
- ruby.ensureRubyEnv()
+ def kitchenYML = readYaml(file: "${kitchenFileName}")
+ if (kitchenYML.containsKey("driver")) {
+ rubyVersion = kitchenYML.get("mcp_ruby_version", '2.4.1')
+ }
+ ruby.ensureRubyEnv(rubyVersion)
if (!fileExists("Gemfile")) {
sh("curl -s -o ./Gemfile 'https://gerrit.mcp.mirantis.com/gitweb?p=salt-formulas/salt-formulas-scripts.git;a=blob_plain;f=Gemfile;hb=refs/heads/master'")
ruby.installKitchen()
@@ -209,9 +213,11 @@
}
setupRunner(defaultGitRef, defaultGitUrl)
} else {
+ common.errorMsg("No enviroments defined in the Kitchen file: ${kitchenFileName}")
+ }
+ } else {
common.warningMsg(".kitchen.yml nor .kitchen.openstack.yml file not found, no kitchen tests triggered.")
}
- }
}
}
}