]> code.ossystems Code Review - openembedded-core.git/commitdiff
classes/buildhistory: add build result to commit message
authorPaul Eggleton <paul.eggleton@linux.intel.com>
Wed, 26 Aug 2015 10:05:18 +0000 (11:05 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Sun, 30 Aug 2015 11:34:39 +0000 (12:34 +0100)
We have the command in the commit message, we might as well have the
build result as well (succeeded/failed and whether or not it was
interrupted by the user). The interrupted part relies upon a change to
BitBake to extend the BuildCompleted event to include an attribute for
that, but will not fail if the attribute is not present.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
meta/classes/buildhistory.bbclass

index 135d17a83702f3b10ab0f81da3bb77af1dbb279f..4db04419939407f02ce1dc5e4a0244d559a25560 100644 (file)
@@ -593,12 +593,27 @@ buildhistory_single_commit() {
                commitopts="$3 metadata-revs"
                item="$3"
        fi
+       if [ "${BUILDHISTORY_BUILD_FAILURES}" = "0" ] ; then
+               result="succeeded"
+       else
+               result="failed"
+       fi
+       case ${BUILDHISTORY_BUILD_INTERRUPTED} in
+               1)
+                       result="$result (interrupted)"
+                       ;;
+               2)
+                       result="$result (force interrupted)"
+                       ;;
+       esac
        commitmsgfile=`mktemp`
        cat > $commitmsgfile << END
 $item: Build ${BUILDNAME} of ${DISTRO} ${DISTRO_VERSION} for machine ${MACHINE} on $2
 
 cmd: $1
 
+result: $result
+
 metadata revisions:
 END
        cat ${BUILDHISTORY_DIR}/metadata-revs >> $commitmsgfile
@@ -659,7 +674,11 @@ python buildhistory_eventhandler() {
     if e.data.getVar('BUILDHISTORY_FEATURES', True).strip():
         if e.data.getVar("BUILDHISTORY_COMMIT", True) == "1":
             bb.note("Writing buildhistory")
-            bb.build.exec_func("buildhistory_commit", e.data)
+            localdata = bb.data.createCopy(e.data)
+            localdata.setVar('BUILDHISTORY_BUILD_FAILURES', str(e._failures))
+            interrupted = getattr(e, '_interrupted', 0)
+            localdata.setVar('BUILDHISTORY_BUILD_INTERRUPTED', str(interrupted))
+            bb.build.exec_func("buildhistory_commit", localdata)
 }
 
 addhandler buildhistory_eventhandler