{"shas":[["8a0c480c8497ba9b64856537055a9610813ae87b","ca3d386ca65178fc9b924da531ef7cb829a492a4@gmail.com","(#184) Blocker: add new build step for synchronizing builds.","Greg Ward"],["acc76b3957cc39e42d66ff2bfd97fc81491a50ed","ca3d386ca65178fc9b924da531ef7cb829a492a4@gmail.com","(#184) Blocker: Fix constructor to accept all of BuildStep's constructor kwargs.","Greg Ward"],["9af7a4fd527b2b3648222a0b5d0acde16da1d1c1","ca3d386ca65178fc9b924da531ef7cb829a492a4@gmail.com","(#184) Blocker: improve error detection and reporting.\n\n  - add BadStepError\n  - modify _getStepStatus() to raise it\n  - modify start() to handle BadStepError and accumulate them\n    so multiple errors are reported together","Greg Ward"],["4957310ed618db056eb5183d6b21fa264751ba2c","ca3d386ca65178fc9b924da531ef7cb829a492a4@gmail.com","(#184) Blocker: cosmetic tweaks to status reporting.","Greg Ward"],["a03b41b3cc73ea434cea4844bc6706b61a104a00","ca3d386ca65178fc9b924da531ef7cb829a492a4@gmail.com","(#184) Blocker: initial crack at handling idle upstream builder.\n\n  - add 'idlePolicy'\n  - implement policies \"error\" (current behaviour) and \"ignore\"\n  - still need to implement \"block\" policy\nSimplify code that finds the upstream BuildStepStatus by jumping from\nBuilder to BuilderStatus and BuildStatus.","Greg Ward"],["35d993424f1bf1adaa64cc03b4ea81bafd924cbd","ca3d386ca65178fc9b924da531ef7cb829a492a4@gmail.com","(#184) Blocker: implement \"block\" idlePolicy.\n\n  - split _getStepStatus() up into _getBuildStatus() and _getStepStatus()\n  - add _blocking_builders instance attribute and populate it in\n    _getBuildStatus() (when idlePolicy == \"block\")\n  - replace use of DeferredList with _blocking_steps instance attr\n  - add BuildStatusReceiver and Blocker._upstreamBuildStarted() to\n    listen for upstream builder starting a build\n  - replace simple finished() method (called by the DeferredList) with\n    _upstreamStepFinished()","Greg Ward"],["c1bc2a882b8f52f52739adb9411e2e466888d486","ca3d386ca65178fc9b924da531ef7cb829a492a4@gmail.com","(#184) Blocker: make 'idlePolicy' a real constructor arg.","Greg Ward"],["038c3fa13dad754fbbec000f9b9471a1e1ab6db2","ca3d386ca65178fc9b924da531ef7cb829a492a4@gmail.com","(#184) Blocker: add 'timeout' parameter.","Greg Ward"],["5c0e6c61d93a58e41400b32efe0610106b947510","ca3d386ca65178fc9b924da531ef7cb829a492a4@gmail.com","(#184) Blocker: start adding unit tests.\n\nSo far I only test trivial stuff, ie. anything that can be tested\nwithout the whole Buildbot object graph in place.","Greg Ward"],["7f1e43bd039a7f6dc330191d27af302c4bdd9b89","ca3d386ca65178fc9b924da531ef7cb829a492a4@gmail.com","(#184) Blocker: greatly improve status text. Add tests for status text.","Greg Ward"],["b2d4e13f2325f11dcacef1a854ff770de6a90808","ca3d386ca65178fc9b924da531ef7cb829a492a4@gmail.com","(#184) Blocker: Fix race condition with \"step finished\" callback.\n\nSpecifically, if a step has already finished, its \"step finished\"\ncallback is called immediately, often before we had a chance to add the\nstep to _blocking_steps.  So add it to _blocking_steps before\nsubscribing to the \"finish\" event.","Greg Ward"],["2204b5fdd32d16d5db8a02d117b07778a423de11","ca3d386ca65178fc9b924da531ef7cb829a492a4@gmail.com","(#184) Blocker: tweak status reporting.\n\n(Pass only _overall_code to finished(); _overall_text is passed to\nstep_status.setText2().)","Greg Ward"],["618bd7c42a283acc6873798cf7bfd6f30c3cc356","ca3d386ca65178fc9b924da531ef7cb829a492a4@gmail.com","(#184) Blocker: comments and variable rename.","Greg Ward"],["3ae692ec2d485b3d1a9a9f5efeceaba1891a850d","ca3d386ca65178fc9b924da531ef7cb829a492a4@gmail.com","(#184) Blocker: preserve order of blocking steps. Factor out Blocker._log().","Greg Ward"],["a021edf8c3df36474fedcd2b72963f81961fdece","ca3d386ca65178fc9b924da531ef7cb829a492a4@gmail.com","(#184) Blocker: beef up logging.","Greg Ward"],["bb438d992dcdcc87f850ed82c894febd0a3915b3","ca3d386ca65178fc9b924da531ef7cb829a492a4@gmail.com","(#184) Blocker: implement simplistic build matching.\n\nThis implementation only consider upstream build steps from builds whose\nbuild number equals the build number of the build where the Blocker is\nrunning.","Greg Ward"],["f4778b9b3f2478b8ec276201bad53cd47ddd5d20","ca3d386ca65178fc9b924da531ef7cb829a492a4@gmail.com","(#184) Blocker: tone down heavy logging around matching builds.","Greg Ward"],["143b3a8913c8452d4eda30bfef86fb5983e045e9","ca3d386ca65178fc9b924da531ef7cb829a492a4@gmail.com","(#184) Blocker: clarify that buildsMatch() is there to be overridden.\n\n(I.e. rename _buildsMatch() to buildsMatch().)","Greg Ward"],["22631978e59b91dd1d4f34e43f2c0bbc34607bf9","ca3d386ca65178fc9b924da531ef7cb829a492a4@gmail.com","(#184): Blocker: simplify BadStepError implementation.","Greg Ward"],["8aeae395c278b845845f6e52a9a3a94365ddf856","ca3d386ca65178fc9b924da531ef7cb829a492a4@gmail.com","(#184) Blocker: change default idlePolicy to \"block\".\n(It just confused the heck out of me getting an error because\nthe other builder was idle; it'll be even harder for anyone else\nto understand!)","Greg Ward"]],"repo":"tomprince/buildbot","actor":"tomprince","ref":"refs/heads/master","size":58,"head":"accbe55cb37abec7d0190b7100ed31d6bbe4c483","actor_gravatar":"e81edff3af564b86f4c9d780a8023299","push_id":27669722}