[nine] Asynchronous Steps
bb-bot opened this issue · comments
This ticket is a migrated Trac ticket 2646
People contributed to the original ticket: @djmitche (commenter, reporter), @sa2ajj (commenter)
In 0.8.x, build steps are very synchronous.
Nine introduces "new-style" steps that call methods asynchronously and do not expect easy access to the full text of logfiles.
However, there's also substantial work in place to maintain backward compatibility - at least temporarily - for old-style steps.
This project is mostly in Dustin's head.
Here are the remaining bits:
-
implement new-style compatibility on master, as well
- just return defer.succeed(..); no need for wrappers for old-style steps
- include enough checks that users can be confident their new-style steps are OK
-
change backend to use data API
- persist properties at build or step finish
- change addLog to return a [[ProcessLog]] instance
-
ensure that new-style steps don't see any removed methods or old behaviors
- all of the stuff listed as removed in the relnotes
createSummary
,log_eval_func
, among others
-
rewrite steps to new style
- but not ShellCommand, yet, since user classes derive from it
- merge rewrites to master
- remove
step_status
for statistics
-
update documentation
- lots of changes in
customization.rst
cfg-statustargets.rst
referencesgetText
- lots of changes in