diff --git a/first-class-pipeline/vars/executeFreeleapsPipeline.groovy b/first-class-pipeline/vars/executeFreeleapsPipeline.groovy index 98cf47f2..c14868d3 100644 --- a/first-class-pipeline/vars/executeFreeleapsPipeline.groovy +++ b/first-class-pipeline/vars/executeFreeleapsPipeline.groovy @@ -110,48 +110,34 @@ spec: return env.executeMode == "fully" || env.changedComponents.size() > 0 } } + steps { script { configurations.components.each { component -> stage("${component.name} :: Build Agent Setup") { - // when { - // expression { - // return env.executeMode == "fully" || env.changedComponents.contains(component.name) - // } - // } + if (env.executeMode == "fully" || env.changedComponents.contains(component.name)) { + def buildAgentImage = component.buildAgentImage + if (buildAgentImage == null || buildAgentImage.isEmpty()) { + log.warn("Pipeline","Not set buildAgentImage for ${component.name}, using default build agent image") - steps { - script { - def buildAgentImage = component.buildAgentImage - if (buildAgentImage == null || buildAgentImage.isEmpty()) { - log.warn("Pipeline","Not set buildAgentImage for ${component.name}, using default build agent image") - - def language = ServiceLanguage.parse(configurations.serviceLang) - switch(language) { - case ServiceLanguage.PYTHON: - buildAgentImage = "python:3.10-slim-buster" - break - case ServiceLanguage.JS: - buildAgentImage = "node:lts-alpine" - break - default: - error("Unknown service language") - } - - log.info("Pipeline","Using ${buildAgentImage} as build agent image for ${component.name}") - env.buildAgentImage = buildAgentImage + def language = ServiceLanguage.parse(configurations.serviceLang) + switch(language) { + case ServiceLanguage.PYTHON: + buildAgentImage = "python:3.10-slim-buster" + break + case ServiceLanguage.JS: + buildAgentImage = "node:lts-alpine" + break + default: + error("Unknown service language") } + + log.info("Pipeline","Using ${buildAgentImage} as build agent image for ${component.name}") + env.buildAgentImage = buildAgentImage } - } - } + } stage("${component.name} :: Dependencies Resolving") { - // when { - // expression { - // return env.executeMode == "fully" || env.changedComponents.contains(component.name) - // } - // } - agent { kubernetes { defaultContainer 'dep-resolver' @@ -177,26 +163,24 @@ spec: """ } } + if (env.executeMode == "fully" || env.changedComponents.contains(component.name)) { + def language = ServiceLanguage.parse(component.language) - steps { - script { - def language = ServiceLanguage.parse(component.language) + def depManager = DependenciesManager.parse(component.dependenciesManager) - def depManager = DependenciesManager.parse(component.dependenciesManager) - - def dependenciesResolver = new DependenciesResolver(this, language) - dependenciesResolver.useManager(depManager) - - if (component.buildCacheEnabled) { - dependenciesResolver.enableCachingSupport() - } else { - dependenciesResolver.disableCachingSupport() - } - - sourceFetcher.fetch(configurations) - dependenciesResolver.resolve(configurations) + def dependenciesResolver = new DependenciesResolver(this, language) + dependenciesResolver.useManager(depManager) + + if (component.buildCacheEnabled) { + dependenciesResolver.enableCachingSupport() + } else { + dependenciesResolver.disableCachingSupport() } + + sourceFetcher.fetch(configurations) + dependenciesResolver.resolve(configurations) } + } } }