[PATCH] Add a make clean step at the end of each build factory

Mark Wielaard mark@klomp.org
Thu Jul 21 22:02:46 GMT 2022


This removes most object files, saving ~10G of disk space.
---
 builder/master.cfg | 53 ++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 53 insertions(+)

diff --git a/builder/master.cfg b/builder/master.cfg
index 2db7bdd..2047eaa 100644
--- a/builder/master.cfg
+++ b/builder/master.cfg
@@ -838,6 +838,10 @@ make_distcheck_test_suite_step = steps.Test(
         logfiles={"test-suite.log":
                   util.Interpolate('%(prop:package_name)s-%(prop:package_version)s/_build/sub/tests/test-suite.log')})
 
+# Generic make clean step to be run at the end of a build
+make_clean_step = steps.ShellCommand(
+        command=["make", "clean"],
+        name="make clean")
 
 # Bunsen steps: extract globby files and some build properties metadata, upload them.
 # files[]: which a list of ([glob, glob, glob], destdir)  tuples.
@@ -950,6 +954,7 @@ bzip2_factory.addStep(bzip2_step_git)
 bzip2_factory.addStep(bzip2_step_make)
 bzip2_factory.addStep(bzip2_step_git_tests)
 bzip2_factory.addStep(bzip2_step_run_tests)
+bzip2_factory.addStep(make_clean_step)
 
 # Same factory, but without running all tests under valgrind for
 # slower workers
@@ -958,6 +963,7 @@ bzip2_factory_no_valgrind.addStep(bzip2_step_git)
 bzip2_factory_no_valgrind.addStep(bzip2_step_make)
 bzip2_factory_no_valgrind.addStep(bzip2_step_git_tests)
 bzip2_factory_no_valgrind.addStep(bzip2_step_run_tests_no_valgrind)
+bzip2_factory_no_valgrind.addStep(make_clean_step)
 
 bzip2_centos_x86_64_builder = util.BuilderConfig(
         name="bzip2-centos-x86_64",
@@ -1093,6 +1099,7 @@ debugedit_factory.addStep(make_distcheck_test_suite_step)
 debugedit_factory.addSteps(bunsen_logfile_upload_steps([
         (["tests/testsuite.at", "tests/testsuite.log", "tests/atlocal"],"tests"),
         (["config.log"], ".")]))
+debugedit_factory.addStep(make_clean_step)
 
 
 debugedit_centos_x86_64_builder = util.BuilderConfig(
@@ -1226,6 +1233,7 @@ dwz_factory.addStep(steps.Git(
 dwz_factory.addStep(make_step)
 dwz_factory.addStep(make_check_dwz_step)
 dwz_factory.addSteps(bunsen_logfile_upload_cpio_steps(["*.sum", "*.log"]))
+dwz_factory.addStep(make_clean_step)
 
                            
 dwz_centos_x86_64_builder = util.BuilderConfig(
@@ -1399,6 +1407,7 @@ elfutils_factory.addStep(getversion_step)
 elfutils_factory.addStep(make_step)
 elfutils_factory.addStep(make_check_test_suite_step)
 elfutils_factory.addSteps(elfutils_upload_to_bunsen)
+elfutils_factory.addStep(make_clean_step)
 
 elfutils_factory_distcheck = util.BuildFactory()
 elfutils_factory_distcheck.addStep(elfutils_set_package_step)
@@ -1410,6 +1419,7 @@ elfutils_factory_distcheck.addStep(make_step)
 elfutils_factory_distcheck.addStep(make_check_test_suite_step)
 elfutils_factory_distcheck.addStep(make_distcheck_test_suite_step)
 elfutils_factory_distcheck.addSteps(elfutils_upload_to_bunsen)
+elfutils_factory_distcheck.addStep(make_clean_step)
 
 elfutils_factory_val = util.BuildFactory()
 elfutils_factory_val.addStep(elfutils_set_package_step)
@@ -1420,6 +1430,7 @@ elfutils_factory_val.addStep(getversion_step)
 elfutils_factory_val.addStep(make_step)
 elfutils_factory_val.addStep(make_check_test_suite_step)
 elfutils_factory_val.addSteps(elfutils_upload_to_bunsen)
+elfutils_factory_val.addStep(make_clean_step)
 
 elfutils_factory_mvu = util.BuildFactory()
 elfutils_factory_mvu.addStep(elfutils_set_package_step)
@@ -1430,6 +1441,7 @@ elfutils_factory_mvu.addStep(getversion_step)
 elfutils_factory_mvu.addStep(make_step)
 elfutils_factory_mvu.addStep(make_check_test_suite_step)
 elfutils_factory_mvu.addSteps(elfutils_upload_to_bunsen)
+elfutils_factory_mvu.addStep(make_clean_step)
 
 elfutils_factory_mu = util.BuildFactory()
 elfutils_factory_mu.addStep(elfutils_set_package_step)
@@ -1440,6 +1452,7 @@ elfutils_factory_mu.addStep(getversion_step)
 elfutils_factory_mu.addStep(make_step)
 elfutils_factory_mu.addStep(make_check_test_suite_step)
 elfutils_factory_mu.addSteps(elfutils_upload_to_bunsen)
+elfutils_factory_mu.addStep(make_clean_step)
 
 elfutils_factory_mua = util.BuildFactory()
 elfutils_factory_mua.addStep(elfutils_set_package_step)
@@ -1450,6 +1463,7 @@ elfutils_factory_mua.addStep(getversion_step)
 elfutils_factory_mua.addStep(make_step)
 elfutils_factory_mua.addStep(make_check_test_suite_step)
 elfutils_factory_mua.addSteps(elfutils_upload_to_bunsen)
+elfutils_factory_mua.addStep(make_clean_step)
 
 elfutils_centos_x86_64_builder = util.BuilderConfig(
         name="elfutils-centos-x86_64",
@@ -1649,6 +1663,11 @@ gccrust_bunsen_steps = bunsen_logfile_upload_cpio_steps(
         ["*.sum", "*.log"],
         workdir='gccrs-build')
 
+gccrust_make_clean_step = steps.ShellCommand(
+        workdir='gccrs-build',
+        command=["make", "clean"],
+        name="make clean")
+
 gccrust_factory = util.BuildFactory()
 gccrust_factory.addStep(gccrust_git_step)
 gccrust_factory.addStep(gccrust_rm_build_step)
@@ -1657,6 +1676,7 @@ gccrust_factory.addStep(gccrust_make_step)
 gccrust_factory.addStep(gccrust_check_step)
 gccrust_factory.addStep(gccrust_check_check_step)
 gccrust_factory.addSteps(gccrust_bunsen_steps)
+gccrust_factory.addStep(gccrust_make_clean_step)
 
 gccrust_bootstrap_factory = util.BuildFactory()
 gccrust_bootstrap_factory.addStep(gccrust_git_step)
@@ -1666,6 +1686,7 @@ gccrust_bootstrap_factory.addStep(gccrust_make_bootstrap_step)
 gccrust_bootstrap_factory.addStep(gccrust_check_bootstrap_step)
 gccrust_bootstrap_factory.addStep(gccrust_check_check_step)
 gccrust_bootstrap_factory.addSteps(gccrust_bunsen_steps)
+gccrust_bootstrap_factory.addStep(gccrust_make_clean_step)
 
 gccrust_fedora_x86_64_builder = util.BuilderConfig(
         name="gccrust-fedora-x86_64",
@@ -1868,6 +1889,10 @@ binutils_step_check_gas_binutils = steps.Test(
 binutils_steps_bunsen_gas_binutils = bunsen_logfile_upload_cpio_steps(
         ["*.sum", "*.log"],
         workdir='binutils-build')
+binutils_make_clean_step = steps.ShellCommand(
+        workdir='binutils-build',
+        command=["make", "clean"],
+        name="make clean")
 
 binutils_factory = util.BuildFactory()
 binutils_factory.addStep(binutils_step_git)
@@ -1876,6 +1901,7 @@ binutils_factory.addStep(binutils_step_configure)
 binutils_factory.addStep(binutils_step_compile)
 binutils_factory.addStep(binutils_step_check)
 binutils_factory.addSteps(binutils_steps_bunsen)
+binutils_factory.addStep(binutils_make_clean_step)
 
 binutils_factory_libctf = util.BuildFactory()
 binutils_factory_libctf.addStep(binutils_step_git)
@@ -1884,6 +1910,7 @@ binutils_factory_libctf.addStep(binutils_step_configure_libctf)
 binutils_factory_libctf.addStep(binutils_step_compile_libctf)
 binutils_factory_libctf.addStep(binutils_step_check_libctf)
 binutils_factory_libctf.addSteps(binutils_steps_bunsen_libctf)
+binutils_factory_libctf.addStep(binutils_make_clean_step)
 
 binutils_factory_target_all = util.BuildFactory()
 binutils_factory_target_all.addStep(binutils_step_git)
@@ -1892,6 +1919,7 @@ binutils_factory_target_all.addStep(binutils_step_configure_target_all)
 binutils_factory_target_all.addStep(binutils_step_compile)
 binutils_factory_target_all.addStep(binutils_step_check)
 binutils_factory_target_all.addSteps(binutils_steps_bunsen)
+binutils_factory_target_all.addStep(binutils_make_clean_step)
 
 binutils_factory_target_all_libctf = util.BuildFactory()
 binutils_factory_target_all_libctf.addStep(binutils_step_git)
@@ -1900,6 +1928,7 @@ binutils_factory_target_all_libctf.addStep(binutils_step_configure_target_all_li
 binutils_factory_target_all_libctf.addStep(binutils_step_compile_libctf)
 binutils_factory_target_all_libctf.addStep(binutils_step_check_libctf)
 binutils_factory_target_all_libctf.addSteps(binutils_steps_bunsen_libctf)
+binutils_factory_target_all_libctf.addStep(binutils_make_clean_step)
 
 # Builds everything, but checks just gas and binutils, not ld.
 binutils_factory_gas_binutils = util.BuildFactory()
@@ -1909,6 +1938,7 @@ binutils_factory_gas_binutils.addStep(binutils_step_configure)
 binutils_factory_gas_binutils.addStep(binutils_step_compile)
 binutils_factory_gas_binutils.addStep(binutils_step_check_gas_binutils)
 binutils_factory_gas_binutils.addSteps(binutils_steps_bunsen_gas_binutils)
+binutils_factory_gas_binutils.addStep(binutils_make_clean_step)
 
 binutils_debian_amd64_builder = util.BuilderConfig(
 	name="binutils-debian-amd64",
@@ -2122,6 +2152,10 @@ gdb_make_step = steps.Compile(
                  'all-gdb', 'all-gdbserver'],
         name='make',
         haltOnFailure=True)
+gdb_make_clean_step = steps.ShellCommand(
+        workdir='gdb-build',
+        command=["make", "clean"],
+        name="make clean")
 # python formatter
 gdb_black_step = steps.Test(
         workdir='binutils-gdb',
@@ -2190,6 +2224,7 @@ gdb_factory.addSteps(bunsen_logfile_upload_cpio_steps( # only a few tests being
         ["*.sum", "*.log"],
         workdir='gdb-build',
         tagsuffix='/extended-gdbserver'))
+gdb_factory.addStep(gdb_make_clean_step)
 
 gdb_targets_all_factory = util.BuildFactory()
 gdb_targets_all_factory.addStep(gdb_git_step)
@@ -2211,6 +2246,7 @@ gdb_targets_all_factory.addSteps(bunsen_logfile_upload_cpio_steps(
         ["*.sum", "*.log"],
         workdir='gdb-build',
         tagsuffix='/extended-gdbserver'))
+gdb_targets_all_factory.addStep(gdb_make_clean_step)
 
 gdb_targets_all_black_factory = util.BuildFactory()
 gdb_targets_all_black_factory.addStep(gdb_git_step)
@@ -2233,6 +2269,7 @@ gdb_targets_all_black_factory.addSteps(bunsen_logfile_upload_cpio_steps(
         ["*.sum", "*.log"],
         workdir='gdb-build',
         tagsuffix='/extended-gdbserver'))
+gdb_targets_all_black_factory.addStep(gdb_make_clean_step)
 
 # Used for armhf only because of
 # https://sourceware.org/bugzilla/show_bug.cgi?id=28561
@@ -2244,6 +2281,7 @@ gdb_factory_make_only.addStep(gdb_make_step)
 # NB: no need to fully BUNSEN ME, test suites are not actually being run
 gdb_factory_make_only.addSteps(bunsen_logfile_upload_steps([ # no tests being run - but can save the autoconf config.log
         (["../gdb-build/gdb/config.log"],"gdb")]))
+gdb_factory_make_only.addStep(gdb_make_clean_step)
 
 gdb_centos_x86_64_builder = util.BuilderConfig(
 	name="gdb-centos-x86_64",
@@ -2569,6 +2607,11 @@ gcc_build_configure_step = steps.Configure(
         name='configure',
         haltOnFailure=True)
 
+gcc_build_make_clean_step = steps.ShellCommand(
+        workdir='gcc-build',
+        command=["make", "clean"],
+        name="make clean")
+
 gcc_factory = util.BuildFactory()
 gcc_factory.addStep(gcc_git_step)
 gcc_factory.addStep(gcc_configure_step)
@@ -2606,6 +2649,7 @@ gcc_build_factory.addStep(steps.Compile(
         command=['make', util.Interpolate('-j%(prop:ncpus)s')],
         name='make',
         haltOnFailure=True))
+gcc_build_factory.addStep(gcc_build_make_clean_step)
 
 gcc_fedora_x86_64_builder = util.BuilderConfig(
         name="gcc-fedora-x86_64",
@@ -2772,6 +2816,8 @@ glibc_factory.addStep(glibc_configure_step)
 glibc_factory.addStep(glibc_make_step)
 glibc_factory.addStep(glibc_check_step)
 glibc_factory.addSteps(glibc_bunsen_steps)
+# Note make clean takes "forever" just blow away the whole builddir
+glibc_factory.addStep(glibc_rm_step)
 
 # A full check is too heavy-weight for some builders
 # Just do a build, only check one subdir (elf).
@@ -2782,6 +2828,8 @@ glibc_build_factory.addStep(glibc_configure_step)
 glibc_build_factory.addStep(glibc_make_build_step)
 glibc_build_factory.addStep(glibc_check_build_step)
 glibc_build_factory.addSteps(glibc_bunsen_steps)
+# Note make clean takes "forever" just blow away the whole builddir
+glibc_build_factory.addStep(glibc_rm_step)
 
 glibc_fedrawhide_x86_64_builder = util.BuilderConfig(
         name="glibc-fedrawhide-x86_64",
@@ -2909,6 +2957,7 @@ libabigail_factory.addStep(make_step)
 libabigail_factory.addStep(libabigail_make_check_test_suite_step)
 libabigail_factory.addStep(libabigail_fast_distcheck)
 libabigail_factory.addSteps(libabigail_upload_to_bunsen)
+libabigail_factory.addStep(make_clean_step)
 
 # libabigail build steps factory, no distcheck
 libabigail_factory_checkonly = util.BuildFactory()
@@ -2918,6 +2967,7 @@ libabigail_factory_checkonly.addStep(configure_step)
 libabigail_factory_checkonly.addStep(make_step)
 libabigail_factory_checkonly.addStep(libabigail_make_check_test_suite_step)
 libabigail_factory_checkonly.addSteps(libabigail_upload_to_bunsen)
+libabigail_factory_checkonly.addStep(make_clean_step)
 
 libabigail_centos_x86_64_builder = util.BuilderConfig(
         name="libabigail-centos-x86_64",
@@ -3180,6 +3230,7 @@ valgrind_dist_aux_factory.addStep(configure_step)
 valgrind_dist_aux_factory.addStep(make_step)
 valgrind_dist_aux_factory.addStep(make_distcheck_step)
 valgrind_dist_aux_factory.addStep(valgrind_auxchecks_step)
+valgrind_dist_aux_factory.addStep(make_clean_step)
 
 valgrind_make_check_aux_factory = util.BuildFactory()
 valgrind_make_check_aux_factory.addStep(valgrind_git_step)
@@ -3188,6 +3239,7 @@ valgrind_make_check_aux_factory.addStep(configure_step)
 valgrind_make_check_aux_factory.addStep(make_step)
 valgrind_make_check_aux_factory.addStep(make_check_step)
 valgrind_make_check_aux_factory.addStep(valgrind_auxchecks_step)
+valgrind_make_check_aux_factory.addStep(make_clean_step)
 
 # For arm32 because it is slow and make check doesn't build...
 valgrind_make_aux_factory = util.BuildFactory()
@@ -3196,6 +3248,7 @@ valgrind_make_aux_factory.addStep(valgrind_autogen_step)
 valgrind_make_aux_factory.addStep(configure_step)
 valgrind_make_aux_factory.addStep(make_step)
 valgrind_make_aux_factory.addStep(valgrind_auxchecks_step)
+valgrind_make_aux_factory.addStep(make_clean_step)
 
 valgrind_fedora_x86_64_builder = util.BuilderConfig(
         name="valgrind-fedora-x86_64",
-- 
2.30.2



More information about the Buildbot mailing list