diff --git a/first-class-pipeline/src/com/freeleaps/devops/ChangedComponentsDetector.groovy b/first-class-pipeline/src/com/freeleaps/devops/ChangedComponentsDetector.groovy index 71773c3e..33db6920 100644 --- a/first-class-pipeline/src/com/freeleaps/devops/ChangedComponentsDetector.groovy +++ b/first-class-pipeline/src/com/freeleaps/devops/ChangedComponentsDetector.groovy @@ -19,8 +19,8 @@ class ChangedComponentsDetector { changedFiles.each { file -> components.each { component -> - if (file.startsWith("${component}/")) { - changedComponents.add(component) + if (file.startsWith("${component.name}/")) { + changedComponents.add(component.name) } } } diff --git a/first-class-pipeline/tests/Jenkinsfile b/first-class-pipeline/tests/Jenkinsfile index a35ff642..0ce95c10 100644 --- a/first-class-pipeline/tests/Jenkinsfile +++ b/first-class-pipeline/tests/Jenkinsfile @@ -8,8 +8,9 @@ executeFreeleapsPipeline { serviceGitRepoType = 'monorepo' executeMode = 'on-demand' // on-demand, full commitMessageLintEnabled = true - components { - frontend { + components = [ + { + name = 'frontend' root = 'frontend' language = 'javascript' dependenciesManager = 'npm' @@ -30,9 +31,9 @@ executeFreeleapsPipeline { registryCredentialName = 'first-class-pipeline-dev-secret' semanticReleaseEnabled = true semanticReleaseBranch = 'master' - } - - backend { + }, + { + name = 'backend' root = 'backend' language = 'python' dependenciesManager = 'pip' @@ -53,5 +54,5 @@ executeFreeleapsPipeline { semanticReleaseEnabled = true semanticReleaseBranch = 'master' } - } + ] } \ No newline at end of file diff --git a/first-class-pipeline/vars/executeFreeleapsPipeline.groovy b/first-class-pipeline/vars/executeFreeleapsPipeline.groovy index b32e1bac..931b764f 100644 --- a/first-class-pipeline/vars/executeFreeleapsPipeline.groovy +++ b/first-class-pipeline/vars/executeFreeleapsPipeline.groovy @@ -108,10 +108,10 @@ spec: steps { script { configurations.components.each { component -> - stage("${component} :: Build Agent Setup") { + stage("${component.name} :: Build Agent Setup") { when { expression { - return env.executeMode == "fully" || env.changedComponents.contains(component) + return env.executeMode == "fully" || env.changedComponents.contains(component.name) } } @@ -119,7 +119,7 @@ spec: script { def buildAgentImage = component.buildAgentImage if (buildAgentImage == null || buildAgentImage.isEmpty()) { - log.warn "Not set buildAgentImage for ${component}, using default build agent image" + log.warn "Not set buildAgentImage for ${component.name}, using default build agent image" def language = ServiceLanguage.parse(configurations.serviceLang) switch(language) { @@ -133,17 +133,17 @@ spec: error("Unknown service language") } - log.info "Using ${buildAgentImage} as build agent image for ${component}" + log.info "Using ${buildAgentImage} as build agent image for ${component.name}" env.buildAgentImage = buildAgentImage } } } } - stage("${component} :: Dependencies Resolving") { + stage("${component.name} :: Dependencies Resolving") { when { expression { - return env.executeMode == "fully" || env.changedComponents.contains(component) + return env.executeMode == "fully" || env.changedComponents.contains(component.name) } }