Setup python builder

This commit is contained in:
2026-07-18 16:45:19 +02:00
parent 82653b4fba
commit 693afc76fd
11 changed files with 108 additions and 48 deletions
+63
View File
@@ -0,0 +1,63 @@
import os
import docker
from .version import BlenderVersion
from pathlib import Path
from docker.errors import BuildError
class BlenderDocker:
def __init__(self, blender: BlenderVersion):
self._blender_version = blender
# Todo get a user config
# self._docker_client = docker.DockerClient(base_url=f'unix://{Path.home()}/.docker/desktop/docker.sock')
self._docker_client = docker.DockerClient(base_url=f'unix:///var/run/docker.sock')
self._docker_image = None
self._docker_file = Path(os.getcwd(), 'Dockerfile')
if not self._docker_file.exists():
print(f'Dockerfile not found: {self._docker_file}')
exit(1)
self.args = {
'b3d_vs_major': f'{self._blender_version.major}',
'b3d_vs_minor': f'{self._blender_version.minor}.{self._blender_version.hotfix}',
}
def build(self):
try:
print('\tBuilding Blender Docker')
print(f'\tWhere to build: {os.getcwd()}')
print(f'\tArgs: {self.args}')
print(f'\tTage generated: {self._blender_version.format_to_tag()}')
build = self._docker_client.images.build(
path=os.getcwd(),
buildargs=self.args,
tag=self._blender_version.format_to_tag(),
quiet=False,
)
print(f'\tBuilding Blender Docker Image done: {build}')
return build
except BuildError as e:
print("Hey something went wrong with image build!")
for line in e.build_log:
if 'stream' in line:
print(line['stream'].strip())
raise
@staticmethod
def tag(self):
print('\tSet Tags version and/or Latest')
pass
@staticmethod
def test(self):
print('\tTesting Blender Docker')
# docker run --rm stilobique/blender:5.1.2 ./blender --version
pass
def push(self):
# TODO Login to hub
pass