public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [PATCH v2 0/2] Add BUILDREPORT to server builds
@ 2020-08-05 19:11 Bret Barkelew
  2020-08-05 19:11 ` [PATCH v2 1/2] .pytool/Plugin: Enable BUILDREPORT on server CI builds Bret Barkelew
  2020-08-05 19:11 ` [PATCH v2 2/2] .azurepipelines: Add BUILD_REPORT to collected artifacts Bret Barkelew
  0 siblings, 2 replies; 3+ messages in thread
From: Bret Barkelew @ 2020-08-05 19:11 UTC (permalink / raw)
  To: devel

Update CI plugins to generate a BUILDREPORT on build steps.
This is especially useful for HostBased tests which are often run
locally and which use unique library combinations. Helps to figure
out which libraries were standard and which were for unit tests.

Bret Barkelew (2):
  .pytool/Plugin: Enable BUILDREPORT on server CI builds
  .azurepipelines: Add BUILD_REPORT to collected artifacts

 .azurepipelines/templates/pr-gate-steps.yml                             | 1 +
 .pytool/Plugin/CompilerPlugin/CompilerPlugin.py                         | 2 ++
 .pytool/Plugin/HostUnitTestCompilerPlugin/HostUnitTestCompilerPlugin.py | 2 ++
 3 files changed, 5 insertions(+)

-- 
2.27.0.windows.1


^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PATCH v2 1/2] .pytool/Plugin: Enable BUILDREPORT on server CI builds
  2020-08-05 19:11 [PATCH v2 0/2] Add BUILDREPORT to server builds Bret Barkelew
@ 2020-08-05 19:11 ` Bret Barkelew
  2020-08-05 19:11 ` [PATCH v2 2/2] .azurepipelines: Add BUILD_REPORT to collected artifacts Bret Barkelew
  1 sibling, 0 replies; 3+ messages in thread
From: Bret Barkelew @ 2020-08-05 19:11 UTC (permalink / raw)
  To: devel; +Cc: Sean Brogan, Bret Barkelew, Michael D Kinney, Liming Gao

Update the CI invocable that builds host-based unit tests to make
sure that BUILDREPORT is built for all tests. This is useful for
determining which libraries were consumed in the build.

Cc: Sean Brogan <sean.brogan@microsoft.com>
Cc: Bret Barkelew <Bret.Barkelew@microsoft.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Signed-off-by: Bret Barkelew <Bret.Barkelew@microsoft.com>
---
 .pytool/Plugin/CompilerPlugin/CompilerPlugin.py                         | 2 ++
 .pytool/Plugin/HostUnitTestCompilerPlugin/HostUnitTestCompilerPlugin.py | 2 ++
 2 files changed, 4 insertions(+)

diff --git a/.pytool/Plugin/CompilerPlugin/CompilerPlugin.py b/.pytool/Plugin/CompilerPlugin/CompilerPlugin.py
index e8657940d71b..e804fd5ed89a 100644
--- a/.pytool/Plugin/CompilerPlugin/CompilerPlugin.py
+++ b/.pytool/Plugin/CompilerPlugin/CompilerPlugin.py
@@ -54,6 +54,8 @@ class CompilerPlugin(ICiBuildPlugin):
     #   - output_stream the StringIO output stream from this plugin via logging
     def RunBuildPlugin(self, packagename, Edk2pathObj, pkgconfig, environment, PLM, PLMHelper, tc, output_stream=None):
         self._env = environment
+        environment.SetValue("BUILDREPORTING", "TRUE", "Set in CompilerPlugin")
+        environment.SetValue("BUILDREPORT_TYPES", "PCD DEPEX LIBRARY BUILD_FLAGS", "Set in CompilerPlugin")
 
         # Parse the config for required DscPath element
         if "DscPath" not in pkgconfig:
diff --git a/.pytool/Plugin/HostUnitTestCompilerPlugin/HostUnitTestCompilerPlugin.py b/.pytool/Plugin/HostUnitTestCompilerPlugin/HostUnitTestCompilerPlugin.py
index f21b40caf291..43abd1f4795b 100644
--- a/.pytool/Plugin/HostUnitTestCompilerPlugin/HostUnitTestCompilerPlugin.py
+++ b/.pytool/Plugin/HostUnitTestCompilerPlugin/HostUnitTestCompilerPlugin.py
@@ -86,6 +86,8 @@ class HostUnitTestCompilerPlugin(ICiBuildPlugin):
     def RunBuildPlugin(self, packagename, Edk2pathObj, pkgconfig, environment, PLM, PLMHelper, tc, output_stream=None):
         self._env = environment
         environment.SetValue("CI_BUILD_TYPE", "host_unit_test", "Set in HostUnitTestCompilerPlugin")
+        environment.SetValue("BUILDREPORTING", "TRUE", "Set in HostUnitTestCompilerPlugin")
+        environment.SetValue("BUILDREPORT_TYPES", "PCD DEPEX LIBRARY BUILD_FLAGS", "Set in HostUnitTestCompilerPlugin")
 
         # Parse the config for required DscPath element
         if "DscPath" not in pkgconfig:
-- 
2.27.0.windows.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [PATCH v2 2/2] .azurepipelines: Add BUILD_REPORT to collected artifacts
  2020-08-05 19:11 [PATCH v2 0/2] Add BUILDREPORT to server builds Bret Barkelew
  2020-08-05 19:11 ` [PATCH v2 1/2] .pytool/Plugin: Enable BUILDREPORT on server CI builds Bret Barkelew
@ 2020-08-05 19:11 ` Bret Barkelew
  1 sibling, 0 replies; 3+ messages in thread
From: Bret Barkelew @ 2020-08-05 19:11 UTC (permalink / raw)
  To: devel; +Cc: Sean Brogan, Bret Barkelew, Michael D Kinney, Liming Gao

Make sure that the BUILD_REPORT is collected on server builds
following the PR gate steps.

Cc: Sean Brogan <sean.brogan@microsoft.com>
Cc: Bret Barkelew <Bret.Barkelew@microsoft.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Signed-off-by: Bret Barkelew <Bret.Barkelew@microsoft.com>
---
 .azurepipelines/templates/pr-gate-steps.yml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/.azurepipelines/templates/pr-gate-steps.yml b/.azurepipelines/templates/pr-gate-steps.yml
index c1c0c04d6c17..414f3e0910da 100644
--- a/.azurepipelines/templates/pr-gate-steps.yml
+++ b/.azurepipelines/templates/pr-gate-steps.yml
@@ -119,6 +119,7 @@ steps:
       TestSuites.xml
       **/BUILD_TOOLS_REPORT.html
       **/OVERRIDELOG.TXT
+      **/BUILD_REPORT.TXT
     flattenFolders: true
   condition: succeededOrFailed()
 
-- 
2.27.0.windows.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-08-05 19:12 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-08-05 19:11 [PATCH v2 0/2] Add BUILDREPORT to server builds Bret Barkelew
2020-08-05 19:11 ` [PATCH v2 1/2] .pytool/Plugin: Enable BUILDREPORT on server CI builds Bret Barkelew
2020-08-05 19:11 ` [PATCH v2 2/2] .azurepipelines: Add BUILD_REPORT to collected artifacts Bret Barkelew

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox