Build: Do not generate NSPE CMake commands for NSOFF configs

When TF-M config disables NS applications, NSPE CMake commands should
not be generated and run in CI job.

Also, when NSPE build is skipped, build folder "nspe" should not be
archived.

Signed-off-by: Xinyu Zhang <xinyu.zhang@arm.com>
Change-Id: I35b2394c4cce1245d30bcdb7c03c6afd289f648e
diff --git a/jenkins/build-config.jpl b/jenkins/build-config.jpl
index 8d6df40..98cc5ab 100644
--- a/jenkins/build-config.jpl
+++ b/jenkins/build-config.jpl
@@ -35,10 +35,12 @@
       }
       stage("Post") {
         archiveArtifacts 'ci_build/spe/bin/**'
-        archiveArtifacts 'ci_build/nspe/bin/**'
-        archiveArtifacts 'ci_build/nspe/*.bin'
         archiveArtifacts 'ci_build/spe/api_ns/bin/**'
         archiveArtifacts 'ci_build/spe/api_ns/interface/**'
+        if (fileExists('ci_build/nspe')) {
+          archiveArtifacts 'ci_build/nspe/bin/**'
+          archiveArtifacts 'ci_build/nspe/*.bin'
+        }
         def upstreamProject = getUpstreamJob()[0].upstreamProject
         if (upstreamProject == "tf-m-build-and-test") {
           archiveArtifacts 'ci_build/spe/build-spe/generated/**'
diff --git a/run-build.sh b/run-build.sh
index c220fad..7a9aec2 100755
--- a/run-build.sh
+++ b/run-build.sh
@@ -119,5 +119,9 @@
     rm -rf ci_build/*
     eval $spe_cmake_config_cmd
 fi
+eval $spe_cmake_build_cmd
 
-eval "$spe_cmake_build_cmd; $nspe_cmake_config_cmd; $nspe_cmake_build_cmd; $post_build_cmd"
+eval $nspe_cmake_config_cmd
+eval $nspe_cmake_build_cmd
+
+eval $post_build_cmd
diff --git a/tfm_ci_pylib/tfm_build_manager.py b/tfm_ci_pylib/tfm_build_manager.py
index 7721a8c..75a2cd8 100644
--- a/tfm_ci_pylib/tfm_build_manager.py
+++ b/tfm_ci_pylib/tfm_build_manager.py
@@ -418,6 +418,11 @@
         build_cfg["nspe_cmake_build"] %= overwrite_params
         build_cfg["post_build"] %= overwrite_params
 
+        # Disable NSPE CMake commands when NS is OFF
+        if "NSOFF" in i.extra_params:
+            build_cfg["nspe_config_template"] = ""
+            build_cfg["nspe_cmake_build"] = ""
+
         return build_cfg
 
     def post_eval(self):