feat(pipeline): enhance ChangedComponentsDetector logging and refine conditional execution for component stages

Signed-off-by: zhenyus <zhenyus@mathmast.com>
This commit is contained in:
zhenyus 2025-02-22 20:45:11 +08:00
parent 5501e060f8
commit 6df9ace1d7
2 changed files with 13 additions and 1 deletions

View File

@ -17,6 +17,8 @@ class ChangedComponentsDetector {
.trim()
.split('\n')
steps.log.info("ChangedComponentsDetector", "Changed files: ${changedFiles}")
changedFiles.each { file ->
components.each { component ->
if (file.startsWith("${component.root}/")) {

View File

@ -736,11 +736,21 @@ spec:
stage("Pipeline :: Components Build (Dynamic Generated Stages)") {
steps {
script {
if (env.executeMode == "fully" || env.changedComponents.split(/\s+/).toList().size() > 0) {
if (env.executeMode == "fully") {
configurations.components.each { component ->
log.info("Pipeline", "Executing generated stages for ${component.name}...")
generateComponentStages(component, configurations)()
}
} else if {
def changedComponents = env.changedComponents.split(/\s+/).toList()
configurations.components.each { component ->
if (changedComponents.contains(component.name)) {
log.info("Pipeline", "Executing generated stages for ${component.name}...")
generateComponentStages(component, configurations)()
}
}
} else {
log.info("Pipeline", "No components changed, skipping...")
}
}
}