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

View file

@ -1,4 +1,5 @@
import logging import logging
from pathlib import Path
import docker import docker
from docker.models.containers import Container from docker.models.containers import Container
@ -33,3 +34,6 @@ class DockerService:
@property @property
def tree(self) -> Tree: def tree(self) -> Tree:
return self._tree return self._tree
def reload(self, compose_path: Path):
pass