2021-11-25 19:22:19 +07:00
|
|
|
#!/usr/bin/python3
|
|
|
|
from tools import RunbotClient, run
|
|
|
|
import logging
|
|
|
|
import time
|
|
|
|
|
|
|
|
_logger = logging.getLogger(__name__)
|
|
|
|
|
|
|
|
class LeaderClient(RunbotClient): # Conductor, Director, Main, Maestro, Lead
|
|
|
|
def __init__(self, env):
|
|
|
|
self.pull_info_failures = {}
|
|
|
|
super().__init__(env)
|
|
|
|
|
2022-06-15 21:29:33 +07:00
|
|
|
def on_start(self):
|
2024-02-05 18:00:28 +07:00
|
|
|
if self.env['ir.config_parameter'].sudo().get_param('runbot.runbot_do_fetch'):
|
|
|
|
_logger.info('Updating all repos')
|
|
|
|
for repo in self.env['runbot.repo'].search([('mode', '!=', 'disabled')]):
|
|
|
|
repo._update(force=True)
|
|
|
|
_logger.info('update finished')
|
2022-06-15 21:29:33 +07:00
|
|
|
|
2021-11-25 19:22:19 +07:00
|
|
|
def loop_turn(self):
|
2022-06-15 21:29:33 +07:00
|
|
|
if self.count == 0:
|
|
|
|
self.env['runbot.repo']._update_git_config()
|
2024-02-12 17:21:09 +07:00
|
|
|
self.env.cr.commit()
|
2022-06-20 16:21:14 +07:00
|
|
|
self.git_gc()
|
2024-02-12 17:21:09 +07:00
|
|
|
self.env.cr.commit()
|
2021-11-25 19:22:19 +07:00
|
|
|
return self.env['runbot.runbot']._fetch_loop_turn(self.host, self.pull_info_failures)
|
|
|
|
|
|
|
|
|
|
|
|
if __name__ == '__main__':
|
|
|
|
run(LeaderClient)
|