Woodpecker main loop almost finished

This commit is contained in:
Piotr Dec 2025-11-02 22:04:21 +01:00
parent 312631f0b5
commit 1341b022d4
Signed by: stawros
GPG key ID: 74B18A3F0F1E99C0
2 changed files with 14 additions and 8 deletions

View file

@ -1,10 +1,12 @@
import logging
from collections import deque
from multiprocessing import Process, Lock
from pathlib import Path
from typing import Annotated
from injectable import injectable, Autowired, autowired
from app.config import get_settings
from app.model.webhook import WoodpeckerEvent
from app.services import Passwords, GitService, DockerService
@ -12,10 +14,12 @@ logger = logging.getLogger(__name__)
class WoodpeckerRunner(Process):
def __init__(self, git: GitService, docker: DockerService, success_callback=None, error_callback=None):
def __init__(self, git: GitService, docker: DockerService, passwords: Passwords,
success_callback=None, error_callback=None):
super().__init__(daemon=True)
self._git = git
self._docker = docker
self._passwords = passwords
self._success_callback = success_callback
self._error_callback = error_callback
self._event: WoodpeckerEvent | None = None
@ -30,14 +34,12 @@ class WoodpeckerRunner(Process):
if service is None:
logger.info("No service found.")
return self._success_callback()
service_path = f"{get_settings().git.path}/compose/{service}/docker-compose.yml"
self._git.checkout(self._event.commit)
"""
TODO:
check for *.mo.* files
subs mo from pass
docker compose up -d -f service/docker-compose.yml
"""
for file in self._event.files:
if file.__contains__('.mo.'):
pass
self._docker.reload(Path(service_path))
return self._success_callback()
except Exception as e: