spacepaste

  1.  
  2. allrepocodebase = {
  3. "lib": { 'repository':libGitUrl, 'branch' : 'master', 'revision':None },.
  4. "apps": { 'repository':appsGitUrl", 'branch' : 'master', 'revision':None },
  5. "deps": { 'repository':depsGitUrl, 'branch' : 'master', 'revision':None },
  6. }
  7. scheduled_branches = ["master","studio-2.0.0"]
  8. def getallrepocodebase(branch):
  9. repocodebase_tmp=allrepocodebase
  10. repocodebase_tmp["lib"]["branch"]=branch
  11. repocodebase_tmp["apps"]["branch"]=branch
  12. return repocodebase_tmp
  13. c['schedulers'] = []
  14. buildbot_os=["windows","linux","mac"]
  15. # Map containing Repo triggers build of repo
  16. repos=dict()
  17. repos["lib"]="apps"
  18. repos["apps"]="tests"
  19. for repo,triggered in repos.iteritems():
  20. for branch in scheduled_branches:
  21. c['schedulers'].append(SingleBranchScheduler(
  22. name="-".join(["post-commit",repo,branch]),
  23. treeStableTimer=1,
  24. codebases = getallrepocodebase(branch),
  25. change_filter=ChangeFilter(codebase = repo, branch=branch),
  26. builderNames= ["_".join([os,repo]) for os in buildbot_os]))
  27. for os in buildbot_os:
  28. # Thoses tests are not ready for mac
  29. if not (os == "mac" and triggered=="tests"):
  30. c['schedulers'].append(Triggerable(
  31. name = os + " " + "-".join(["post",repo,"build",branch]),
  32. builderNames = [ "_".join([os,triggered])],
  33. codebases = getallrepocodebase(branch)))
  34. def getGitRepo(name, url, master=False, timeout=240):
  35. repo = Git(
  36. repourl = url,
  37. codebase= name,
  38. mode = 'full',
  39. method = 'fresh',
  40. workdir= name,
  41. retry = (60, 5),
  42. logEnviron = False,
  43. descriptionDone="Update " + url,
  44. )
  45. if (master == True):
  46. repo.branch = 'master'
  47. repo.alwaysUseLatest = True
  48. return repo
  49. s_git_lib = getGitRepo("lib", libGitUrl)
  50. s_git_apps = getGitRepo("apps", appsGitUrl)
  51. s_git_deps = getGitRepo("deps", depsGitUrl)
  52. windows_lib = BuildFactory()
  53. windows_lib.addStep(s_git_deps)
  54. windows_lib.addStep(s_git_lib)
  55. windows_lib.addStep(ShellCommand(command=["cmd.exe","/c","call","VideoStitch-deps\\CopyToExternalDeps.bat","VideoStitch-lib"], descriptionDone=["Copy Windows deps binaries"], workdir="."))
  56. scons_lib(windows_lib,"windows")
  57. windows_apps = BuildFactory()
  58. windows_apps.addStep(s_git_apps)
  59. windows_apps.addStep(s_git_deps)
  60. windows_apps.addStep(ShellCommand(command=["cmd.exe", "/c", "call", "updatelib.bat","release" , Interpolate("%(src:lib:branch:~master)s")], descriptionDone=["retrieve " + "release" + " " + "x64" + " l>
  61. set_version_and_branch(windows_apps)
  62.