Compare commits
2
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
61f00647f4 | ||
|
|
ce68a96440 |
@@ -39,4 +39,11 @@ docker run --rm --entrypoint /bin/bash stilobique/blender:5.1.2 -c 'ldd /opt/ble
|
|||||||
|
|
||||||
# Test fonctionnel
|
# Test fonctionnel
|
||||||
docker run --rm stilobique/blender:5.1.2 ./blender -b --python-expr "import bpy; print('OK:', bpy.app.version_string)"
|
docker run --rm stilobique/blender:5.1.2 ./blender -b --python-expr "import bpy; print('OK:', bpy.app.version_string)"
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
# Logs
|
||||||
|
Some log are generated inside a `logs` folder.
|
||||||
|
- `build`: all operation on build docker file.
|
||||||
|
- `clean`: from the dedicated function to clean all dockers images and cache.
|
||||||
|
- `test`: simple class method to try a specific docker image.
|
||||||
+25
-11
@@ -106,26 +106,40 @@ class BlenderDocker:
|
|||||||
print('\tSet Tags version and/or Latest')
|
print('\tSet Tags version and/or Latest')
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def test(self):
|
def test(self) -> bool:
|
||||||
"""This method request an image (call the method build before) and try to execute the blender inside the container to check if the program can be correctly executed."""
|
"""
|
||||||
|
This method request an image (call the method build before) and try to execute the blender inside the container
|
||||||
|
to check if the program can be correctly executed.
|
||||||
|
Based on `docker run --rm stilobique/blender:5.1.2 ./blender --version`
|
||||||
|
:return: True if no issue are returned
|
||||||
|
"""
|
||||||
logger = self._get_logger('test')
|
logger = self._get_logger('test')
|
||||||
try:
|
try:
|
||||||
print('Testing your Blender Docker image')
|
print(f'Testing your Blender Docker image {self._docker_image_name}')
|
||||||
logger.info('Testing your Blender Docker image')
|
logger.info(f'Testing your Blender Docker image {self._docker_image_name}.')
|
||||||
|
|
||||||
test = self._docker_client.containers.run(
|
test = self._docker_client.containers.run(
|
||||||
name=f"Blender-Docker-Testing-{self._blender_version.tag_name_slugify()}",
|
name=f"Blender-Docker-Testing-{self._blender_version.tag_name_slugify()}",
|
||||||
image=self._docker_image_name,
|
image=self._docker_image_name,
|
||||||
command=['./blender', '--version'],
|
command=['./blender', '--version'],
|
||||||
auto_remove = True,
|
auto_remove=True,
|
||||||
remove=True,
|
remove=True,
|
||||||
detach=True,
|
detach=True,
|
||||||
stdout=True
|
stdout=True,
|
||||||
|
stderr=True,
|
||||||
|
stream=True,
|
||||||
)
|
)
|
||||||
|
result = test.wait()
|
||||||
print(f'\tResult: {test.logs()}')
|
exit_code = result.get('StatusCode')
|
||||||
|
|
||||||
return True
|
logger.info(f'Exit code return: {exit_code}')
|
||||||
|
logger.info(test.logs(stdout=True, stderr=True).decode('utf-8', errors='replace').strip())
|
||||||
|
|
||||||
|
if exit_code == 0:
|
||||||
|
return True
|
||||||
|
|
||||||
|
print(f'Testing your Blender Docker image {self._docker_image_name} failed.')
|
||||||
|
return False
|
||||||
|
|
||||||
except ContainerError as e:
|
except ContainerError as e:
|
||||||
print(f'Container error: {e}')
|
print(f'Container error: {e}')
|
||||||
|
|||||||
@@ -5,12 +5,6 @@ import json
|
|||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from subprocess import run, CalledProcessError
|
from subprocess import run, CalledProcessError
|
||||||
|
|
||||||
# def clean_all_dockers():
|
|
||||||
# # bash docker context use default && docker system prune -a -f
|
|
||||||
# # bash docker context use podman && docker system prune -a -f
|
|
||||||
# # bash docker context use desktop-linux && docker system prune -a -f
|
|
||||||
# docker_client = docker.DockerClient(base_url=f'unix:///var/run/docker.sock')
|
|
||||||
|
|
||||||
|
|
||||||
def clean_all_dockers():
|
def clean_all_dockers():
|
||||||
"""
|
"""
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ from blender.version import BlenderVersion
|
|||||||
from blender.docker import BlenderDocker
|
from blender.docker import BlenderDocker
|
||||||
|
|
||||||
# Todo Update readme file badge with blender version
|
# Todo Update readme file badge with blender version
|
||||||
|
# Todo
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
@@ -19,7 +20,7 @@ if __name__ == "__main__":
|
|||||||
|
|
||||||
if test:
|
if test:
|
||||||
print('Push this image.')
|
print('Push this image.')
|
||||||
docker.push()
|
# docker.push()
|
||||||
|
|
||||||
# Todo: Add a latest tag, check if this version are the latest
|
# Todo: Add a latest tag, check if this version are the latest
|
||||||
# Todo: Add a LTS tag, check if this version are a LTS
|
# Todo: Add a LTS tag, check if this version are a LTS
|
||||||
Reference in New Issue
Block a user