HomePhabricator

[build-bot] Persist build info between redeployments

Description

[build-bot] Persist build info between redeployments

Summary:
The build bot current tracks multiple pieces of state between
requests but does not persist them to disk. Whenever the bot is redeployed,
old state is forgotten. This can result in diff builds that appear to not complete,
as well as incorrect master state messages in Slack.

While this has not been an issue in the past due to relatively infrequent changes to
the build bot, opening up the bot source code to the entire dev team means much more
frequent changes that trigger more redeployments. This issue will only become more
noticeable if not taken care of.

This patch introduces persisting state and adds some (not comprehensive) test coverage.

Test Plan:

pytest
./abcbot.py  # Verify some DB-related log messages

Reviewers: #bitcoin_abc, Fabien

Reviewed By: #bitcoin_abc, Fabien

Subscribers: Fabien

Differential Revision: https://reviews.bitcoinabc.org/D7994

Details

Provenance
jasonbcoxAuthored on Oct 21 2020, 19:48
abc-botPushed on Oct 21 2020, 19:54
Reviewer
Restricted Project
Differential Revision
D7994: [build-bot] Persist build info between redeployments
Parents
rABC7aec57ad89cd: [build-bot] Correctly match hex in ignore pattern for flaky Windows cross-builds
Branches
Unknown
Tags
Unknown