glibc/scripts
Joseph Myers 4d602bcea8 Add build-many-glibcs.py bot-cycle action.
This patch continues the process of setting up build-many-glibcs.py to
run as a bot monitoring for and reporting on build issues by adding a
bot-cycle action to the script.  When this action is used, it will run
the checkout action (re-execing itself if it was changed by that
action), then rebuild whichever of host-libraries, compilers, glibcs
should be rebuilt based on changed versions, time elapsed and state of
previous builds.  Email is sent with the results of the build (for
each build action done).

The rebuild logic is: if previous build time or versions aren't
recorded, rebuild that component.  If the script has changed, rebuild
everything.  If any relevant component version has changed, rebuild,
except for not rebuilding compilers if the time indicated in the bot
configuration has not passed since the last build of the compilers.
If one piece is rebuilt then rebuild subsequent pieces as well.

Using bot-cycle requires a configuration file bot-config.json in the
toplevel directory used by build-many-glibcs.py.  It might contain
e.g.

{
  "compilers-rebuild-delay": 604800,
  "email-from": "Example Name <user@example.org>",
  "email-server": "localhost",
  "email-subject": "GCC 6 %(action)s %(build-time)s build results",
  "email-to": "libc-testresults@sourceware.org"
}

My next intended step is adding a further action "bot" which loops
running bot-cycle then sleeping for an amount of time given in
bot-config.json.  Then I'll set up a bot using that action (building
with GCC 6 branch; a bot using GCC mainline may wait until the SH
out-of-memory issues
<https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78460> are fixed; I
expect the bot to mail to me until it seems ready to switch to mailing
to gcc-testresults).

	* scripts/build-many-glibcs.py: Add bot-cycle to usage message.
	Import email.mime.text, email.utils and smtplib modules.
	(Context.__init__): Initialize self.bot_config_json.
	(Context.run_builds): Handle bot-cycle action.
	(Context.load_bot_config_json): New function.
	(Context.part_build_old): Likewise.
	(Context.bot_cycle): Likewise.
	(Context.bot_build_mail): Likewise.
	(Context.bot_run_self): Likewise.
	(get_parser): Allow bot-cycle action.
2016-11-30 18:56:37 +00:00
..
abi-versions.awk Remove bitrotten --enable-oldest-abi (bug 6652). 2014-09-16 17:45:03 +00:00
abilist.awk Simplify the abilist format 2015-11-06 13:58:53 +01:00
begin-end-check.pl Add rules to run scripts/begin-end-check.pl. 2005-09-17 17:15:50 +00:00
build-many-glibcs.py Add build-many-glibcs.py bot-cycle action. 2016-11-30 18:56:37 +00:00
check-c++-types.sh Make shebang interpreter directives consistent 2016-01-07 04:03:21 -05:00
check-execstack.awk Do check-execstack test using readelf rather than a build-time C program. 2012-05-01 13:27:52 -07:00
check-installed-headers.sh Make check-installed-headers.sh ignore sys/sysctl.h for x32. 2016-11-07 23:32:17 +00:00
check-local-headers.sh mach: Add more allowed external headers 2016-08-21 03:24:55 +02:00
check-localplt.awk Extend local PLT reference check 2015-07-29 11:58:06 -07:00
check-textrel.awk Do check-textrel test using readelf rather than a build-time C program. 2012-05-01 13:27:11 -07:00
config-uname.sh Rejigger header generation for default uname implementation. 2010-08-24 11:56:52 -07:00
config.guess Make shebang interpreter directives consistent 2016-01-08 14:09:06 -05:00
config.sub Make shebang interpreter directives consistent 2016-01-08 14:09:06 -05:00
cpp Make shebang interpreter directives consistent 2016-01-07 04:03:21 -05:00
cross-test-ssh.sh Make shebang interpreter directives consistent 2016-01-07 04:03:21 -05:00
documented.sh Make shebang interpreter directives consistent 2016-01-07 04:03:21 -05:00
evaluate-test.sh Make shebang interpreter directives consistent 2016-01-07 04:03:21 -05:00
firstversions.awk Fix bug in firstversions.awk version range handling. 2012-01-28 12:02:44 -05:00
gen-as-const.awk Fix 64-bit platform handling in test cases for generated headers with constants. 2009-08-16 00:39:43 -07:00
gen-libc-abis Make shebang interpreter directives consistent 2016-01-07 04:03:21 -05:00
gen-libc-modules.awk Auto-generate libc-modules.h 2014-11-19 12:16:00 +05:30
gen-posix-conf-vars.awk Remove uses of sprintf in gen-posix-conf-vars.awk 2015-01-02 11:16:35 +05:30
gen-sorted.awk Make shebang interpreter directives consistent 2016-01-07 04:03:21 -05:00
install-sh Update miscellaneous files from upstream sources. 2014-06-26 20:13:44 +00:00
lib-names.awk Clean up gnu/lib-names.h generation (bug 14171). 2014-09-26 17:33:04 +00:00
list-fixed-bugs.py Make shebang interpreter directives consistent 2016-01-07 04:03:21 -05:00
list-sources.sh Update scripts/list-sources.sh for ports repository merge. 2014-06-26 21:30:07 +00:00
localplt.awk Support PLT and GOT references in local PIC check 2015-10-14 06:00:02 -07:00
merge-test-results.sh Make shebang interpreter directives consistent 2016-01-07 04:03:21 -05:00
mkinstalldirs Make shebang interpreter directives consistent 2016-01-08 14:09:06 -05:00
move-if-change Update miscellaneous files from upstream sources. 2016-01-05 18:04:06 +00:00
output-format.sed 2004-08-13 Daniel Jacobowitz <dan@debian.org> 2004-08-14 06:54:39 +00:00
pylint Implement benchmarking script in python 2014-03-21 17:32:50 +05:30
pylintrc pylintrc: disable reports 2015-11-11 13:41:57 -05:00
rellns-sh Make shebang interpreter directives consistent 2016-01-07 04:03:21 -05:00
soversions.awk Remove bitrotten --enable-oldest-abi (bug 6652). 2014-09-16 17:45:03 +00:00
sysd-rules.awk sysd-rules: Cut down the number of rtld-% pattern rules 2016-09-20 10:41:05 +02:00
test-installation.pl Make shebang interpreter directives consistent 2016-01-07 04:03:21 -05:00
update-abilist.sh Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
update-copyrights Make shebang interpreter directives consistent 2016-01-07 04:03:21 -05:00
versionlist.awk Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
versions.awk Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00