Opened 6 years ago

Last modified 5 years ago

#2646 assigned task

[nine] Asynchronous Steps

Reported by: dustin Owned by:
Priority: blocker Milestone: 0.9.+
Version: Keywords:
Cc:

Description

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 references getText

Change History (5)

comment:1 Changed 6 years ago by dustin

With https://github.com/buildbot/buildbot/pull/1085 this is mostly done. Remaining:

  • nine: change to the data API backend, and stop writing to status objects
  • 0.8.x + nine: re-read and update customization.rst and cfg-statustargets.rst to match
  • rewrite steps to new style (not before 0.9.0)

comment:2 Changed 5 years ago by dustin

I still need to make sure the docs are in line before 0.8.9 is released. Things are looking pretty good.

comment:3 Changed 5 years ago by dustin

Docs are good in 0.8.9. Remaining:

  • 0.9.0:
    • write to the data API backend only (#2818)
  • 0.9.1:
    • rewrite steps to new style

comment:4 Changed 5 years ago by sa2ajj

  • Priority changed from major to blocker

According to http://irclogs.jackgrigg.com/irc.freenode.net/buildbot/2014-09-01#i_3436414 this ticket is a blocker then

(Yes, Dustin, I remember your love toward this particular severity :))

comment:5 Changed 5 years ago by dustin

  • Milestone changed from 0.9.0 to 0.9.+
  • Owner dustin deleted
  • Status changed from new to assigned

#2818 is closed, so this part is done for 0.9.0

Note: See TracTickets for help on using tickets.