From: Ed Bartosh <ed.bartosh@linux.intel.com>
To: openembedded-core@lists.openembedded.org
Subject: [PATCH 18/18] toaster: fire TaskArtifacts event
Date: Tue, 30 Aug 2016 12:29:51 +0300 [thread overview]
Message-ID: <0d83ed46c7d66032d9b19121a7d3d48bd3dad7b9.1472548574.git.ed.bartosh@linux.intel.com> (raw)
In-Reply-To: <cover.1472548574.git.ed.bartosh@linux.intel.com>
In-Reply-To: <cover.1472548574.git.ed.bartosh@linux.intel.com>
Fire TaskArtifact MetaData event for deployment tasks when task
either completed or skipped. Event contains full task id
(recipe+task) and list of deployment artifacts from sstate
manifest.
This should allow Toaster to always get notified about deployment
artifacts produced by the build.
[YOCTO #9869]
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
---
meta/classes/toaster.bbclass | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/meta/classes/toaster.bbclass b/meta/classes/toaster.bbclass
index 972efb9..4bddf34 100644
--- a/meta/classes/toaster.bbclass
+++ b/meta/classes/toaster.bbclass
@@ -324,6 +324,20 @@ python toaster_buildhistory_dump() {
}
+# get list of artifacts from sstate manifest
+python toaster_artifacts() {
+ if e.taskname in ["do_deploy", "do_image_complete", "do_populate_sdk", "do_populate_sdk_ext"]:
+ d2 = d.createCopy()
+ d2.setVar('FILE', e.taskfile)
+ d2.setVar('SSTATE_MANMACH', d2.expand("${MACHINE}"))
+ manifest = oe.sstatesig.sstate_get_manifest_filename(e.taskname[3:], d2)[0]
+ if os.access(manifest, os.R_OK):
+ with open(manifest) as fmanifest:
+ artifacts = [fname.strip() for fname in fmanifest]
+ data = {"task": e.taskid, "artifacts": artifacts}
+ bb.event.fire(bb.event.MetadataEvent("TaskArtifacts", data), d2)
+}
+
# set event handlers
addhandler toaster_layerinfo_dumpdata
toaster_layerinfo_dumpdata[eventmask] = "bb.event.TreeDataPreparationCompleted"
@@ -334,6 +348,9 @@ toaster_collect_task_stats[eventmask] = "bb.event.BuildCompleted bb.build.TaskSu
addhandler toaster_buildhistory_dump
toaster_buildhistory_dump[eventmask] = "bb.event.BuildCompleted"
+addhandler toaster_artifacts
+toaster_artifacts[eventmask] = "bb.runqueue.runQueueTaskSkipped bb.runqueue.runQueueTaskCompleted"
+
do_packagedata_setscene[postfuncs] += "toaster_package_dumpdata "
do_packagedata_setscene[vardepsexclude] += "toaster_package_dumpdata "
--
2.1.4
next prev parent reply other threads:[~2016-08-30 9:31 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-08-30 9:29 [PATCH 00/18] Provide list of deployment artifacts Ed Bartosh
2016-08-30 9:29 ` [PATCH 01/18] image-live.bbclass: deploy images to DEPLOYDIR Ed Bartosh
2016-08-30 9:29 ` [PATCH 02/18] image-vm.bbclass: " Ed Bartosh
2016-08-30 9:29 ` [PATCH 03/18] image.bbclass: " Ed Bartosh
2016-08-30 9:29 ` [PATCH 04/18] " Ed Bartosh
2016-08-30 9:29 ` [PATCH 05/18] image_types_uboot.bbclass: " Ed Bartosh
2016-08-30 9:29 ` [PATCH 06/18] syslinux.bbclass: deploy bootloader " Ed Bartosh
2016-08-30 9:29 ` [PATCH 07/18] build-appliance-image: process images in DEPLOYDIR Ed Bartosh
2016-08-30 9:29 ` [PATCH 08/18] populate_sdk_base.bbclass: deploy sdk artifacts to DEPLOYDIR Ed Bartosh
2016-08-30 9:29 ` [PATCH 09/18] rootfs-postcommands.bbclass: generate manifest in DEPLOYDIR Ed Bartosh
2016-08-30 9:29 ` [PATCH 10/18] selftest: renamed variable Ed Bartosh
2016-08-30 9:29 ` [PATCH 11/18] rootfs.py: use DEPLOYDIR instead of DEPLOY_DIR_IMAGE Ed Bartosh
2016-08-30 9:29 ` [PATCH 12/18] image.bbclass: put image_complete under sstate control Ed Bartosh
2016-08-30 9:29 ` [PATCH 13/18] image.bbclass: cleanup DEPLOYDIR Ed Bartosh
2016-08-30 9:29 ` [PATCH 14/18] populate_sdk_base: put populate_sdk under sstate control Ed Bartosh
2016-08-30 9:29 ` [PATCH 15/18] sstate.bbclass: skip packaging if SSTATE_SKIP_CREATION is set Ed Bartosh
2016-08-30 9:29 ` [PATCH 16/18] image: populate_sdk_base: skip sstate creation Ed Bartosh
2016-08-30 9:29 ` [PATCH 17/18] image: populate_sdk_base: set stamp-extra-info flag Ed Bartosh
2016-08-30 9:29 ` Ed Bartosh [this message]
2016-08-30 10:08 ` [PATCH 00/18] Provide list of deployment artifacts Richard Purdie
2016-08-30 10:21 ` Otavio Salvador
2016-08-30 10:35 ` Ed Bartosh
2016-08-30 10:58 ` Otavio Salvador
2016-08-30 11:21 ` Ed Bartosh
2016-08-30 13:36 ` Otavio Salvador
2016-08-30 14:06 ` Richard Purdie
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=0d83ed46c7d66032d9b19121a7d3d48bd3dad7b9.1472548574.git.ed.bartosh@linux.intel.com \
--to=ed.bartosh@linux.intel.com \
--cc=openembedded-core@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox