Update all CI config
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
import os
|
||||
|
||||
from pathlib import PurePosixPath
|
||||
|
||||
|
||||
class ContainerObject(object):
|
||||
"""All data request to launch one dedicated container"""
|
||||
|
||||
def __init__(self, name: str, image: str):
|
||||
self.label: str = name.lower()
|
||||
self.image: str = image
|
||||
self.tag: str = self.set_tag()
|
||||
self.local_folder: str = ''
|
||||
self.volumes: list[str] = self.set_volumes()
|
||||
self.environments: list[str] = self.set_environments()
|
||||
self.commands: list[str] = self.set_commands()
|
||||
self.ref = f'{self.image}:{self.tag}'
|
||||
|
||||
def set_tag(self):
|
||||
"""Determine the tag use with the docker image call"""
|
||||
if 'blender' in self.label:
|
||||
return 'latest'
|
||||
elif 'unreal' in self.label:
|
||||
return 'dev-slim-4.27.2'
|
||||
else:
|
||||
return None
|
||||
|
||||
def set_volumes(self):
|
||||
"""Define folder/path with mount with each docker container"""
|
||||
if 'blender' in self.label:
|
||||
self.local_folder = '/addon_moderlab'
|
||||
elif 'unreal' in self.label:
|
||||
self.local_folder = '/project'
|
||||
else:
|
||||
return None
|
||||
return [f'{self.workspace()}:{self.local_folder}']
|
||||
|
||||
def set_environments(self):
|
||||
"""Add environment variable start with the docker container"""
|
||||
if 'blender' in self.label:
|
||||
return [f'FOLDER_TEST={self.local_folder}']
|
||||
else:
|
||||
return []
|
||||
|
||||
def set_commands(self):
|
||||
"""Write all commands execute on the docker container start"""
|
||||
cmds = ['/bin/sh']
|
||||
if 'blender' in self.label:
|
||||
cmds.append(str(PurePosixPath(self.local_folder, "tests", "launch_test_b3d.sh")))
|
||||
else:
|
||||
cmds.append(str(PurePosixPath(self.local_folder, "tests", "launch_test_ue.sh")))
|
||||
cmds.append(str(PurePosixPath(self.local_folder, "tests", "unreal_sample", "empty_project",
|
||||
"EmptyProject.uproject")))
|
||||
|
||||
return cmds
|
||||
|
||||
@staticmethod
|
||||
def workspace():
|
||||
"""Define the workspace folder"""
|
||||
if os.environ.get('GITHUB_WORKSPACE'):
|
||||
return os.environ['GITHUB_WORKSPACE']
|
||||
else:
|
||||
return os.getcwd()
|
||||
Reference in New Issue
Block a user