- .sourcecraft/ci.yaml: push в main → check (compile · ruff мягкий · bandit · pytest по сервисам) → deploy - .tgit/changed_services.py: изменённые services/<name>/ (без родителя — все сервисы) - .tgit/run_tests.py: pytest каждого сервиса со своими requirements.txt - deploy пока заглушка со списком сервисов — tgit-runner в #13 - services/hello: демо-сервис с тестом; tgit.yaml — формат настроек сервиса Refs #7 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
23 lines
393 B
Python
23 lines
393 B
Python
"""Demo service: logs a heartbeat line every 10 seconds."""
|
|
|
|
import logging
|
|
import time
|
|
|
|
logging.basicConfig(level=logging.INFO, format="%(asctime)s %(levelname)s %(message)s")
|
|
|
|
|
|
def greeting(n: int) -> str:
|
|
return f"hello #{n}"
|
|
|
|
|
|
def main() -> None:
|
|
n = 0
|
|
while True:
|
|
n += 1
|
|
logging.info(greeting(n))
|
|
time.sleep(10)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|