comparison master.cfg @ 3:7a07ae3068be

add mxe-octave 'release' builds and rebalance worker loads
author John W. Eaton <jwe@octave.org>
date Thu, 28 Jun 2018 18:20:12 +0000
parents f77e7e92cc95
children 5d2e18ee2b92
comparison
equal deleted inserted replaced
2:f77e7e92cc95 3:7a07ae3068be
95 95
96 all_default_octave_builders = []; 96 all_default_octave_builders = [];
97 #all_default_octave_builders.append ("gcc-4.9-debian") 97 #all_default_octave_builders.append ("gcc-4.9-debian")
98 #all_default_octave_builders.append ("gcc-5-debian") 98 #all_default_octave_builders.append ("gcc-5-debian")
99 all_default_octave_builders.append ("gcc-6-debian") # mtmx 99 all_default_octave_builders.append ("gcc-6-debian") # mtmx
100 all_default_octave_builders.append ("gcc-7-debian") # jwe 100 all_default_octave_builders.append ("gcc-7-debian") # jwe 1
101 all_default_octave_builders.append ("gcc-7-lto-debian") # jwe 101 all_default_octave_builders.append ("gcc-7-lto-debian") # jwe 2
102 all_default_octave_builders.append ("gcc-fedora") # das 102 all_default_octave_builders.append ("gcc-fedora") # das
103 all_default_octave_builders.append ("gcc-lto-fedora") # das 103 all_default_octave_builders.append ("gcc-lto-fedora") # das
104 all_default_octave_builders.append ("no-extras-debian") # jwe 104 all_default_octave_builders.append ("no-extras-debian") # jwe 1
105 all_default_octave_builders.append ("clang-3.9-debian") # mtmx 105 all_default_octave_builders.append ("clang-3.9-debian") # mtmx
106 all_default_octave_builders.append ("clang-4.0-debian") # jwe 106 all_default_octave_builders.append ("clang-4.0-debian") # jwe 0
107 all_default_octave_builders.append ("clang-5.0-debian") # jwe 107 all_default_octave_builders.append ("clang-5.0-debian") # jwe 3
108 all_default_octave_builders.append ("clang-fedora") # das 108 all_default_octave_builders.append ("clang-fedora") # das
109 all_default_octave_builders.append ("clang-osx") # simone 109 all_default_octave_builders.append ("clang-osx") # simone
110 110
111 all_stable_octave_builders = []; 111 all_stable_octave_builders = [];
112 all_stable_octave_builders.append ("stable-gcc-7-debian") # jwe 112 all_stable_octave_builders.append ("stable-gcc-7-debian") # jwe 1
113 all_stable_octave_builders.append ("stable-gcc-7-lto-debian") # jwe 113 all_stable_octave_builders.append ("stable-gcc-7-lto-debian") # jwe 2
114 all_stable_octave_builders.append ("stable-gcc-fedora") # das 114 all_stable_octave_builders.append ("stable-gcc-fedora") # das
115 all_stable_octave_builders.append ("stable-no-extras-debian") # jwe 115 all_stable_octave_builders.append ("stable-no-extras-debian") # jwe 1
116 all_stable_octave_builders.append ("stable-clang-4.0-debian") # jwe 116 all_stable_octave_builders.append ("stable-clang-4.0-debian") # jwe 0
117 all_stable_octave_builders.append ("stable-clang-5.0-debian") # jwe 117 all_stable_octave_builders.append ("stable-clang-5.0-debian") # jwe 3
118 all_stable_octave_builders.append ("stable-clang-osx") # simone 118 all_stable_octave_builders.append ("stable-clang-osx") # simone
119 119
120 all_mxe_octave_builders = []; 120 all_mxe_octave_builders = [];
121 all_mxe_octave_builders.append ("w32-on-debian") # jwe 121 all_mxe_octave_builders.append ("w32-on-debian") # jwe 3
122 all_mxe_octave_builders.append ("w64-32-on-debian") # jwe 122 all_mxe_octave_builders.append ("w64-32-on-debian") # jwe 0
123 all_mxe_octave_builders.append ("w64-64-on-debian") # jwe 123 all_mxe_octave_builders.append ("w64-64-on-debian") # jwe 2
124 all_mxe_octave_builders.append ("w32-stable-on-debian") # jwe 124 all_mxe_octave_builders.append ("w32-release-on-debian") # jwe 3
125 all_mxe_octave_builders.append ("w64-32-stable-on-debian") # jwe 125 all_mxe_octave_builders.append ("w64-32-release-on-debian") # jwe 0
126 all_mxe_octave_builders.append ("mxe-native-on-debian") # jwe 126 all_mxe_octave_builders.append ("w64-64-release-on-debian") # jwe 2
127 all_mxe_octave_builders.append ("mxe-native-all-on-debian") # jwe 127 all_mxe_octave_builders.append ("w32-stable-on-debian") # jwe 3
128 all_mxe_octave_builders.append ("w64-32-stable-on-debian") # jwe 0
129 all_mxe_octave_builders.append ("w64-64-stable-on-debian") # jwe 2
130 all_mxe_octave_builders.append ("mxe-native-on-debian") # jwe 0
131 all_mxe_octave_builders.append ("mxe-native-all-on-debian") # jwe 2
128 132
129 c["schedulers"] = [] 133 c["schedulers"] = []
130 134
131 c["schedulers"].append (SingleBranchScheduler (name = "default octave", 135 c["schedulers"].append (SingleBranchScheduler (name = "default octave",
132 change_filter = octave_default_filter, 136 change_filter = octave_default_filter,
152 ## Here, branch is the mxe-octave branch. 156 ## Here, branch is the mxe-octave branch.
153 c["schedulers"].append (timed.Nightly (name = "periodic mxe-octave-w64-32", 157 c["schedulers"].append (timed.Nightly (name = "periodic mxe-octave-w64-32",
154 branch = "default", 158 branch = "default",
155 change_filter = mxe_octave_default_filter, 159 change_filter = mxe_octave_default_filter,
156 builderNames = ["w64-32-on-debian"], 160 builderNames = ["w64-32-on-debian"],
161 hour = 0))
162
163 ## Here, branch is the mxe-octave branch.
164 c["schedulers"].append (timed.Nightly (name = "periodic mxe-octave-w64-64",
165 branch = "default",
166 change_filter = mxe_octave_default_filter,
167 builderNames = ["w64-64-on-debian"],
168 hour = 0))
169
170 ## Here, branch is the mxe-octave branch.
171 c["schedulers"].append (timed.Nightly (name = "periodic mxe-octave-w32-release",
172 branch = "default",
173 change_filter = mxe_octave_default_filter,
174 builderNames = ["w32-release-on-debian"],
175 hour = 8))
176
177 ## Here, branch is the mxe-octave branch.
178 c["schedulers"].append (timed.Nightly (name = "periodic mxe-octave-w64-32-release",
179 branch = "default",
180 change_filter = mxe_octave_default_filter,
181 builderNames = ["w64-32-release-on-debian"],
157 hour = 6)) 182 hour = 6))
158 183
159 ## Here, branch is the mxe-octave branch. 184 ## Here, branch is the mxe-octave branch.
160 c["schedulers"].append (timed.Nightly (name = "periodic mxe-octave-w64-64", 185 c["schedulers"].append (timed.Nightly (name = "periodic mxe-octave-w64-64-release",
161 branch = "default", 186 branch = "default",
162 change_filter = mxe_octave_default_filter, 187 change_filter = mxe_octave_default_filter,
163 builderNames = ["w64-64-on-debian"], 188 builderNames = ["w64-64-release-on-debian"],
189 hour = 6))
190
191 ## Here, branch is the mxe-octave branch.
192 c["schedulers"].append (timed.Nightly (name = "periodic mxe-octave-w32-stable",
193 branch = "default",
194 change_filter = mxe_octave_default_filter,
195 builderNames = ["w32-stable-on-debian"],
196 hour = 16))
197
198 ## Here, branch is the mxe-octave branch.
199 c["schedulers"].append (timed.Nightly (name = "periodic mxe-octave-w64-32-stable",
200 branch = "default",
201 change_filter = mxe_octave_default_filter,
202 builderNames = ["w64-32-stable-on-debian"],
203 hour = 12))
204
205 ## Here, branch is the mxe-octave branch.
206 c["schedulers"].append (timed.Nightly (name = "periodic mxe-octave-w64-64-stable",
207 branch = "default",
208 change_filter = mxe_octave_default_filter,
209 builderNames = ["w64-64-stable-on-debian"],
164 hour = 12)) 210 hour = 12))
165 211
166 ## Here, branch is the mxe-octave branch. 212 ## Here, branch is the mxe-octave branch.
167 c["schedulers"].append (timed.Nightly (name = "periodic mxe-octave-native", 213 c["schedulers"].append (timed.Nightly (name = "periodic mxe-octave-native",
168 branch = "default", 214 branch = "default",
173 ## Here, branch is the mxe-octave branch. 219 ## Here, branch is the mxe-octave branch.
174 c["schedulers"].append (timed.Nightly (name = "periodic mxe-octave-native-all", 220 c["schedulers"].append (timed.Nightly (name = "periodic mxe-octave-native-all",
175 branch = "default", 221 branch = "default",
176 change_filter = mxe_octave_default_filter, 222 change_filter = mxe_octave_default_filter,
177 builderNames = ["mxe-native-all-on-debian"], 223 builderNames = ["mxe-native-all-on-debian"],
178 hour = 0)) 224 hour = 18))
179
180 ## Here, branch is the mxe-octave branch.
181 c["schedulers"].append (timed.Nightly (name = "periodic mxe-octave-w32-stable",
182 branch = "default",
183 change_filter = mxe_octave_default_filter,
184 builderNames = ["w32-stable-on-debian"],
185 hour = 8))
186
187 ## Here, branch is the mxe-octave branch.
188 c["schedulers"].append (timed.Nightly (name = "periodic mxe-octave-w64-32-stable",
189 branch = "default",
190 change_filter = mxe_octave_default_filter,
191 builderNames = ["w64-32-stable-on-debian"],
192 hour = 16))
193 225
194 c["schedulers"].append (ForceScheduler (name = "force_mxe_octave", builderNames = all_mxe_octave_builders)) 226 c["schedulers"].append (ForceScheduler (name = "force_mxe_octave", builderNames = all_mxe_octave_builders))
195 227
196 ## BUILDERS 228 ## BUILDERS
197 229
553 c["builders"].append (BuilderConfig (name = "stable-clang-4.0-debian", 585 c["builders"].append (BuilderConfig (name = "stable-clang-4.0-debian",
554 workernames = ["jwe-debian-x86_64-0"], 586 workernames = ["jwe-debian-x86_64-0"],
555 factory = mk_clang_4_0_factory (19, "-j8", "stable"))) 587 factory = mk_clang_4_0_factory (19, "-j8", "stable")))
556 588
557 c["builders"].append (BuilderConfig (name = "clang-5.0-debian", 589 c["builders"].append (BuilderConfig (name = "clang-5.0-debian",
558 workernames = ["jwe-debian-x86_64-2"], 590 workernames = ["jwe-debian-x86_64-3"],
559 factory = mk_clang_5_0_factory (19, "-j8", "default"))) 591 factory = mk_clang_5_0_factory (19, "-j8", "default")))
560 592
561 c["builders"].append (BuilderConfig (name = "stable-clang-5.0-debian", 593 c["builders"].append (BuilderConfig (name = "stable-clang-5.0-debian",
562 workernames = ["jwe-debian-x86_64-2"], 594 workernames = ["jwe-debian-x86_64-3"],
563 factory = mk_clang_5_0_factory (19, "-j8", "stable"))) 595 factory = mk_clang_5_0_factory (19, "-j8", "stable")))
564 596
565 c["builders"].append (BuilderConfig (name = "clang-fedora", 597 c["builders"].append (BuilderConfig (name = "clang-fedora",
566 workernames = ["das_fc25-x86_64"], 598 workernames = ["das_fc25-x86_64"],
567 factory = mk_clang_factory (19, "-j8", "default"))) 599 factory = mk_clang_factory (19, "-j8", "default")))
611 ## and some of those make take significant time to build, especially 643 ## and some of those make take significant time to build, especially
612 ## if the build is running on a heavily loaded system and this step 644 ## if the build is running on a heavily loaded system and this step
613 ## has a high nice value. 645 ## has a high nice value.
614 646
615 def mk_mxe_octave_hg_tarball_step (nice = 0, jobs = 8, branch = "default"): 647 def mk_mxe_octave_hg_tarball_step (nice = 0, jobs = 8, branch = "default"):
616 make_cmd = build_cmd_list (["make", "JOBS=" + str (jobs), "hg-octave-dist", "hg-octave-branch=" + branch], 648
649 hg_octave_branch = branch
650 if branch == "release":
651 hg_octave_branch = "stable"
652
653 make_cmd = build_cmd_list (["make", "JOBS=" + str (jobs), "hg-octave-dist", "hg-octave-branch=" + hg_octave_branch],
617 nice = nice) 654 nice = nice)
618 return Compile (command = make_cmd, workdir = "src", env = build_env, 655 return Compile (command = make_cmd, workdir = "src", env = build_env,
619 timeout = 14400) 656 timeout = 14400)
620 657
621 658
640 opts = configure_opts)) 677 opts = configure_opts))
641 ## Create a tarball file from an hg checkout, then build from that. 678 ## Create a tarball file from an hg checkout, then build from that.
642 ## This also builds all dependencies for Octave, so it can take a 679 ## This also builds all dependencies for Octave, so it can take a
643 ## while. Using ccache should help us significantly since we are 680 ## while. Using ccache should help us significantly since we are
644 ## typically rebuilding the same sets of packages repeatedly. 681 ## typically rebuilding the same sets of packages repeatedly.
682
645 factory.addStep (mk_mxe_octave_hg_tarball_step (nice = nice, jobs = jobs, 683 factory.addStep (mk_mxe_octave_hg_tarball_step (nice = nice, jobs = jobs,
646 branch = branch)) 684 branch = branch))
647 factory.addStep (mk_mxe_octave_compile_step (nice = nice, jobs = jobs, 685 factory.addStep (mk_mxe_octave_compile_step (nice = nice, jobs = jobs,
648 opts = compile_opts)) 686 opts = compile_opts))
649 ## factory.addStep (mk_mxe_octave_test_step (nice = nice)) 687 ## factory.addStep (mk_mxe_octave_test_step (nice = nice))
654 def mk_w32_factory (nice, jobs, branch, compile_opts): 692 def mk_w32_factory (nice, jobs, branch, compile_opts):
655 return mk_mxe_octave_factory (nice, jobs, branch, 693 return mk_mxe_octave_factory (nice, jobs, branch,
656 ["--enable-qt5", 694 ["--enable-qt5",
657 "--enable-devel-tools", 695 "--enable-devel-tools",
658 "--disable-windows-64", 696 "--disable-windows-64",
697 "--disable-64",
698 "--disable-fortran-int64",
659 "--disable-system-opengl"], 699 "--disable-system-opengl"],
660 compile_opts) 700 compile_opts)
661 701
662 702
663 def mk_w64_32_factory (nice, jobs, branch, compile_opts): 703 def mk_w64_32_factory (nice, jobs, branch, compile_opts):
664 configure_opts = ["--enable-qt5",
665 "--enable-devel-tools",
666 "--disable-system-opengl"]
667 if branch == "stable":
668 configure_opts.extend (["--disable-64"])
669
670 return mk_mxe_octave_factory (nice, jobs, branch, 704 return mk_mxe_octave_factory (nice, jobs, branch,
671 configure_opts, 705 ["--enable-qt5",
706 "--enable-devel-tools",
707 "--enable-windows-64",
708 "--enable-64",
709 "--disable-fortran-int64",
710 "--disable-system-opengl"],
672 compile_opts) 711 compile_opts)
673 712
674 713
675 def mk_w64_64_factory (nice, jobs, branch, compile_opts): 714 def mk_w64_64_factory (nice, jobs, branch, compile_opts):
676 return mk_mxe_octave_factory (nice, jobs, branch, 715 return mk_mxe_octave_factory (nice, jobs, branch,
677 ["--enable-qt5", 716 ["--enable-qt5",
678 "--enable-devel-tools", 717 "--enable-devel-tools",
718 "--enable-windows-64",
719 "--enable-64",
679 "--enable-fortran-int64", 720 "--enable-fortran-int64",
680 "--disable-system-opengl", 721 "--disable-system-opengl"],
681 "--enable-64"],
682 compile_opts) 722 compile_opts)
683 723
684 724
685 def mk_native_factory (nice, jobs, branch, compile_opts): 725 def mk_native_factory (nice, jobs, branch, compile_opts):
686 return mk_mxe_octave_factory (nice, jobs, branch, 726 return mk_mxe_octave_factory (nice, jobs, branch,
710 "gnu-linux"], 750 "gnu-linux"],
711 compile_opts) 751 compile_opts)
712 752
713 753
714 c["builders"].append (BuilderConfig (name = "w32-on-debian", 754 c["builders"].append (BuilderConfig (name = "w32-on-debian",
715 workernames = ["jwe-debian-x86_64-0"], 755 workernames = ["jwe-debian-x86_64-3"],
716 factory = mk_w32_factory (19, 8, "default", "nsis-installer"))) 756 factory = mk_w32_factory (19, 8, "default", "nsis-installer")))
717 757
718 c["builders"].append (BuilderConfig (name = "w64-32-on-debian", 758 c["builders"].append (BuilderConfig (name = "w64-32-on-debian",
719 workernames = ["jwe-debian-x86_64-0"], 759 workernames = ["jwe-debian-x86_64-0"],
720 factory = mk_w64_32_factory (19, 8, "default", "nsis-installer"))) 760 factory = mk_w64_32_factory (19, 8, "default", "nsis-installer")))
721 761
722 c["builders"].append (BuilderConfig (name = "w64-64-on-debian", 762 c["builders"].append (BuilderConfig (name = "w64-64-on-debian",
763 workernames = ["jwe-debian-x86_64-2"],
764 factory = mk_w64_64_factory (19, 8, "default", "nsis-installer")))
765
766
767 c["builders"].append (BuilderConfig (name = "w32-release-on-debian",
768 workernames = ["jwe-debian-x86_64-3"],
769 factory = mk_w32_factory (19, 8, "release", "nsis-installer")))
770
771 c["builders"].append (BuilderConfig (name = "w64-32-release-on-debian",
723 workernames = ["jwe-debian-x86_64-0"], 772 workernames = ["jwe-debian-x86_64-0"],
724 factory = mk_w64_64_factory (19, 8, "default", "nsis-installer"))) 773 factory = mk_w64_32_factory (19, 8, "release", "nsis-installer")))
774
775 c["builders"].append (BuilderConfig (name = "w64-64-release-on-debian",
776 workernames = ["jwe-debian-x86_64-2"],
777 factory = mk_w64_64_factory (19, 8, "release", "nsis-installer")))
778
779
780 c["builders"].append (BuilderConfig (name = "w32-stable-on-debian",
781 workernames = ["jwe-debian-x86_64-3"],
782 factory = mk_w32_factory (19, 8, "stable", "nsis-installer")))
783
784 c["builders"].append (BuilderConfig (name = "w64-32-stable-on-debian",
785 workernames = ["jwe-debian-x86_64-0"],
786 factory = mk_w64_32_factory (19, 8, "stable", "nsis-installer")))
787
788 c["builders"].append (BuilderConfig (name = "w64-64-stable-on-debian",
789 workernames = ["jwe-debian-x86_64-2"],
790 factory = mk_w64_64_factory (19, 8, "stable", "nsis-installer")))
725 791
726 792
727 c["builders"].append (BuilderConfig (name = "mxe-native-on-debian", 793 c["builders"].append (BuilderConfig (name = "mxe-native-on-debian",
728 workernames = ["jwe-debian-x86_64-0"], 794 workernames = ["jwe-debian-x86_64-0"],
729 factory = mk_native_factory (19, 8, "default", "tar-dist"))) 795 factory = mk_native_factory (19, 8, "default", "tar-dist")))
730 796
731 c["builders"].append (BuilderConfig (name = "mxe-native-all-on-debian", 797 c["builders"].append (BuilderConfig (name = "mxe-native-all-on-debian",
732 workernames = ["jwe-debian-x86_64-3"], 798 workernames = ["jwe-debian-x86_64-2"],
733 factory = mk_native_all_factory (19, 8, "default", "tar-dist"))) 799 factory = mk_native_all_factory (19, 8, "default", "tar-dist")))
734 800
735
736 c["builders"].append (BuilderConfig (name = "w32-stable-on-debian",
737 workernames = ["jwe-debian-x86_64-3"],
738 factory = mk_w32_factory (19, 8, "stable", "nsis-installer")))
739
740 c["builders"].append (BuilderConfig (name = "w64-32-stable-on-debian",
741 workernames = ["jwe-debian-x86_64-3"],
742 factory = mk_w64_32_factory (19, 8, "stable", "nsis-installer")))
743 801
744 ## PROJECT IDENTITY 802 ## PROJECT IDENTITY
745 803
746 ## the 'title' string will appear at the top of this buildbot 804 ## the 'title' string will appear at the top of this buildbot
747 ## installation's html.WebStatus home page (linked to the 'titleURL') 805 ## installation's html.WebStatus home page (linked to the 'titleURL')