From 66bf9f3021b317f970b11d0b4b75ad7770cd13f7 Mon Sep 17 00:00:00 2001 From: Victor Pablos Ceruelo Date: Fri, 22 Apr 2022 12:12:20 +0200 Subject: [PATCH 1/7] Retrieves the info needed to compare pdfs before and after levaDoc refactor. --- .../ods/orchestration/FinalizeStage.groovy | 2 ++ src/org/ods/util/PipelineDebugInfo.groovy | 30 +++++++++++++++++++ 2 files changed, 32 insertions(+) create mode 100644 src/org/ods/util/PipelineDebugInfo.groovy diff --git a/src/org/ods/orchestration/FinalizeStage.groovy b/src/org/ods/orchestration/FinalizeStage.groovy index 912e766565..2cce779da5 100644 --- a/src/org/ods/orchestration/FinalizeStage.groovy +++ b/src/org/ods/orchestration/FinalizeStage.groovy @@ -8,6 +8,7 @@ import org.ods.orchestration.util.Project import org.ods.services.BitbucketService import org.ods.services.OpenShiftService import org.ods.services.GitService +import org.ods.util.PipelineDebugInfo import org.ods.util.PipelineSteps import org.ods.util.IPipelineSteps import org.ods.util.Logger @@ -93,6 +94,7 @@ class FinalizeStage extends Stage { // Dump a representation of the project logger.debug("---- ODS Project (${project.key}) data ----\r${project}\r -----") + new PipelineDebugInfo().save(project, steps, util) levaDocScheduler.run(phase, MROPipelineUtil.PipelinePhaseLifecycleStage.PRE_END) diff --git a/src/org/ods/util/PipelineDebugInfo.groovy b/src/org/ods/util/PipelineDebugInfo.groovy new file mode 100644 index 0000000000..800abe6f6c --- /dev/null +++ b/src/org/ods/util/PipelineDebugInfo.groovy @@ -0,0 +1,30 @@ +package org.ods.util + +import org.ods.orchestration.util.Project +import org.ods.orchestration.util.MROPipelineUtil + +class PipelineDebugInfo { + + public final String PROJECT_DEBUG_INFO_FILENAME = "project_debug_info.yml" + public final String ENVIRONMENT_DEBUG_INFO_FILENAME = "environment_debug_info.yml" + + void save(Project project, PipelineSteps steps, MROPipelineUtil util) { + + writeFile(PROJECT_DEBUG_INFO_FILENAME, text: "${project}") + steps.archiveArtifacts(PROJECT_DEBUG_INFO_FILENAME) + + Map environmentDebugInfo = getStepsEnvDebugInfo(steps) + writeFile(ENVIRONMENT_DEBUG_INFO_FILENAME, text: "${environmentDebugInfo}") + steps.archiveArtifacts(ENVIRONMENT_DEBUG_INFO_FILENAME) + } + + private getStepsEnvDebugInfo(PipelineSteps steps) { + Map result = [:] + List keysList = steps.env.keySet().toList() + for (int i=0; i Date: Mon, 25 Apr 2022 09:08:39 +0200 Subject: [PATCH 2/7] codenarc --- src/org/ods/orchestration/FinalizeStage.groovy | 2 +- src/org/ods/util/IPipelineSteps.groovy | 1 + src/org/ods/util/PipelineDebugInfo.groovy | 7 +++---- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/org/ods/orchestration/FinalizeStage.groovy b/src/org/ods/orchestration/FinalizeStage.groovy index 2cce779da5..e979e4cd20 100644 --- a/src/org/ods/orchestration/FinalizeStage.groovy +++ b/src/org/ods/orchestration/FinalizeStage.groovy @@ -94,7 +94,7 @@ class FinalizeStage extends Stage { // Dump a representation of the project logger.debug("---- ODS Project (${project.key}) data ----\r${project}\r -----") - new PipelineDebugInfo().save(project, steps, util) + new PipelineDebugInfo().save(project, steps) levaDocScheduler.run(phase, MROPipelineUtil.PipelinePhaseLifecycleStage.PRE_END) diff --git a/src/org/ods/util/IPipelineSteps.groovy b/src/org/ods/util/IPipelineSteps.groovy index 1d4bf83b8a..690e6a2cb0 100644 --- a/src/org/ods/util/IPipelineSteps.groovy +++ b/src/org/ods/util/IPipelineSteps.groovy @@ -76,4 +76,5 @@ interface IPipelineSteps { def unwrap() def emailext(Map args) + } diff --git a/src/org/ods/util/PipelineDebugInfo.groovy b/src/org/ods/util/PipelineDebugInfo.groovy index 800abe6f6c..db69d2496c 100644 --- a/src/org/ods/util/PipelineDebugInfo.groovy +++ b/src/org/ods/util/PipelineDebugInfo.groovy @@ -1,20 +1,19 @@ package org.ods.util import org.ods.orchestration.util.Project -import org.ods.orchestration.util.MROPipelineUtil class PipelineDebugInfo { public final String PROJECT_DEBUG_INFO_FILENAME = "project_debug_info.yml" public final String ENVIRONMENT_DEBUG_INFO_FILENAME = "environment_debug_info.yml" - void save(Project project, PipelineSteps steps, MROPipelineUtil util) { + void save(Project project, PipelineSteps steps) { - writeFile(PROJECT_DEBUG_INFO_FILENAME, text: "${project}") + steps.writeFile(PROJECT_DEBUG_INFO_FILENAME, "${project}") steps.archiveArtifacts(PROJECT_DEBUG_INFO_FILENAME) Map environmentDebugInfo = getStepsEnvDebugInfo(steps) - writeFile(ENVIRONMENT_DEBUG_INFO_FILENAME, text: "${environmentDebugInfo}") + steps.writeFile(ENVIRONMENT_DEBUG_INFO_FILENAME, "${environmentDebugInfo}") steps.archiveArtifacts(ENVIRONMENT_DEBUG_INFO_FILENAME) } From d61a1a0d31ae2c1aa2d38fea998157177bfefd14 Mon Sep 17 00:00:00 2001 From: "zxBCN Pablos_Ceruelo,Victor (IT EDS) EXTERNAL" Date: Mon, 25 Apr 2022 09:48:37 +0200 Subject: [PATCH 3/7] Fixes access to environment variables. --- src/org/ods/util/PipelineDebugInfo.groovy | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/org/ods/util/PipelineDebugInfo.groovy b/src/org/ods/util/PipelineDebugInfo.groovy index db69d2496c..113966cd59 100644 --- a/src/org/ods/util/PipelineDebugInfo.groovy +++ b/src/org/ods/util/PipelineDebugInfo.groovy @@ -1,5 +1,6 @@ package org.ods.util +import hudson.EnvVars import org.ods.orchestration.util.Project class PipelineDebugInfo { @@ -19,7 +20,8 @@ class PipelineDebugInfo { private getStepsEnvDebugInfo(PipelineSteps steps) { Map result = [:] - List keysList = steps.env.keySet().toList() + EnvVars environmentVariables = steps.getEnv().getEnvironment() + List keysList = environmentVariables.keySet().toList() for (int i=0; i Date: Mon, 25 Apr 2022 10:08:05 +0200 Subject: [PATCH 4/7] Fixes typo. --- src/org/ods/util/PipelineDebugInfo.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/org/ods/util/PipelineDebugInfo.groovy b/src/org/ods/util/PipelineDebugInfo.groovy index 113966cd59..bf68ee0360 100644 --- a/src/org/ods/util/PipelineDebugInfo.groovy +++ b/src/org/ods/util/PipelineDebugInfo.groovy @@ -24,7 +24,7 @@ class PipelineDebugInfo { List keysList = environmentVariables.keySet().toList() for (int i=0; i Date: Mon, 25 Apr 2022 10:39:17 +0200 Subject: [PATCH 5/7] Typo: not returning correct values. --- src/org/ods/util/PipelineDebugInfo.groovy | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/org/ods/util/PipelineDebugInfo.groovy b/src/org/ods/util/PipelineDebugInfo.groovy index bf68ee0360..89cb547b37 100644 --- a/src/org/ods/util/PipelineDebugInfo.groovy +++ b/src/org/ods/util/PipelineDebugInfo.groovy @@ -18,7 +18,7 @@ class PipelineDebugInfo { steps.archiveArtifacts(ENVIRONMENT_DEBUG_INFO_FILENAME) } - private getStepsEnvDebugInfo(PipelineSteps steps) { + private Map getStepsEnvDebugInfo(PipelineSteps steps) { Map result = [:] EnvVars environmentVariables = steps.getEnv().getEnvironment() List keysList = environmentVariables.keySet().toList() @@ -27,5 +27,6 @@ class PipelineDebugInfo { String value = environmentVariables.get(key) as String result.put(key, value) } + return result } } From 4b519ce20f2f703810ab6243bcda344c1bb1f303 Mon Sep 17 00:00:00 2001 From: "zxBCN Pablos_Ceruelo,Victor (IT EDS) EXTERNAL" Date: Mon, 25 Apr 2022 11:05:46 +0200 Subject: [PATCH 6/7] Fixes not serializable iterator usage. --- src/org/ods/util/PipelineDebugInfo.groovy | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/src/org/ods/util/PipelineDebugInfo.groovy b/src/org/ods/util/PipelineDebugInfo.groovy index 89cb547b37..fd40662c4d 100644 --- a/src/org/ods/util/PipelineDebugInfo.groovy +++ b/src/org/ods/util/PipelineDebugInfo.groovy @@ -1,5 +1,6 @@ package org.ods.util +import com.cloudbees.groovy.cps.NonCPS import hudson.EnvVars import org.ods.orchestration.util.Project @@ -19,12 +20,19 @@ class PipelineDebugInfo { } private Map getStepsEnvDebugInfo(PipelineSteps steps) { - Map result = [:] EnvVars environmentVariables = steps.getEnv().getEnvironment() - List keysList = environmentVariables.keySet().toList() - for (int i=0; i entriesSet = environmentVariables.entrySet() + return getVarsMapFromEntriesSet(entriesSet) + } + + @NonCPS + private Map getVarsMapFromEntriesSet(Set entriesSet) { + Map result = [:] + List entriesList = entriesSet.toList() + for (int i=0; i Date: Mon, 25 Apr 2022 11:39:00 +0200 Subject: [PATCH 7/7] Trying to improve map redability printing in json format. --- src/org/ods/util/PipelineDebugInfo.groovy | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/org/ods/util/PipelineDebugInfo.groovy b/src/org/ods/util/PipelineDebugInfo.groovy index fd40662c4d..0b8dcf60da 100644 --- a/src/org/ods/util/PipelineDebugInfo.groovy +++ b/src/org/ods/util/PipelineDebugInfo.groovy @@ -1,6 +1,7 @@ package org.ods.util import com.cloudbees.groovy.cps.NonCPS +import groovy.json.JsonOutput import hudson.EnvVars import org.ods.orchestration.util.Project @@ -15,7 +16,8 @@ class PipelineDebugInfo { steps.archiveArtifacts(PROJECT_DEBUG_INFO_FILENAME) Map environmentDebugInfo = getStepsEnvDebugInfo(steps) - steps.writeFile(ENVIRONMENT_DEBUG_INFO_FILENAME, "${environmentDebugInfo}") + String environmentDebugInfoTxt = JsonOutput.toJson(environmentDebugInfo) + steps.writeFile(ENVIRONMENT_DEBUG_INFO_FILENAME, "${environmentDebugInfoTxt}") steps.archiveArtifacts(ENVIRONMENT_DEBUG_INFO_FILENAME) }