Auto merge dev → main (#1226)
* add tssbot PM2 entry + extend webhook updater to handle TSSBOT - TSSBOT/ecosystem.config.js: defines just the tssbot app for now. Uses system python3 (skeleton has no deps); switch to .venv/bin/python once TSSBOT/BOT/botscript.py and a real dependency set exist. - TSSBOT/start_bot.py: change the stub from exit-immediately to an idle loop with SIGTERM/SIGINT handling so PM2 doesn't restart-loop the placeholder. - SREBOT/github_webhook_updater.py: same listener handles the whole monorepo. Add a tssbot restart rule that triggers on TSSBOT/BOT/, TSSBOT root .py, TSSBOT/start_bot.py, TSSBOT/ecosystem.config.js, or SHARED/ changes. A push to SHARED restarts both bots; pushes scoped to one bot only restart that bot. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * update game files and start tssbot --------- Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -82,9 +82,9 @@ def pull_and_restart(changed_files: list[str]) -> tuple[bool, str]:
|
|||||||
# Determine which processes to restart based on changed files
|
# Determine which processes to restart based on changed files
|
||||||
processes_to_restart = []
|
processes_to_restart = []
|
||||||
|
|
||||||
# Bot: restart if SREBOT/BOT/, SHARED/, SREBOT/start_bot.py, ecosystem.config.js,
|
# SREBOT bot: restart if SREBOT/BOT/, SHARED/, SREBOT/start_bot.py,
|
||||||
# or SREBOT root .py files changed
|
# SREBOT/ecosystem.config.js, or SREBOT root .py files changed.
|
||||||
bot_changed = any(
|
srebot_changed = any(
|
||||||
f.startswith('SREBOT/BOT/')
|
f.startswith('SREBOT/BOT/')
|
||||||
or f.startswith('SHARED/')
|
or f.startswith('SHARED/')
|
||||||
or f == 'SREBOT/start_bot.py'
|
or f == 'SREBOT/start_bot.py'
|
||||||
@@ -92,9 +92,23 @@ def pull_and_restart(changed_files: list[str]) -> tuple[bool, str]:
|
|||||||
or (f.startswith('SREBOT/') and f.endswith('.py') and f.count('/') == 1 and not f.endswith('/' + WEBHOOK_FILENAME))
|
or (f.startswith('SREBOT/') and f.endswith('.py') and f.count('/') == 1 and not f.endswith('/' + WEBHOOK_FILENAME))
|
||||||
for f in changed_files
|
for f in changed_files
|
||||||
)
|
)
|
||||||
if bot_changed:
|
if srebot_changed:
|
||||||
processes_to_restart.append('srebot')
|
processes_to_restart.append('srebot')
|
||||||
logger.info("Bot files changed, will restart srebot")
|
logger.info("SREBOT files changed, will restart srebot")
|
||||||
|
|
||||||
|
# TSSBOT bot: restart if TSSBOT/BOT/, TSSBOT/start_bot.py,
|
||||||
|
# TSSBOT/ecosystem.config.js, SHARED/, or TSSBOT root .py files changed.
|
||||||
|
tssbot_changed = any(
|
||||||
|
f.startswith('TSSBOT/BOT/')
|
||||||
|
or f.startswith('SHARED/')
|
||||||
|
or f == 'TSSBOT/start_bot.py'
|
||||||
|
or f == 'TSSBOT/ecosystem.config.js'
|
||||||
|
or (f.startswith('TSSBOT/') and f.endswith('.py') and f.count('/') == 1)
|
||||||
|
for f in changed_files
|
||||||
|
)
|
||||||
|
if tssbot_changed:
|
||||||
|
processes_to_restart.append('tssbot')
|
||||||
|
logger.info("TSSBOT files changed, will restart tssbot")
|
||||||
|
|
||||||
# API server: restart if SREBOT/server.js changed
|
# API server: restart if SREBOT/server.js changed
|
||||||
api_changed = any(f == 'SREBOT/server.js' for f in changed_files)
|
api_changed = any(f == 'SREBOT/server.js' for f in changed_files)
|
||||||
|
|||||||
Reference in New Issue
Block a user