Source code for gcip2.ci.jobs.assets

 1import dataclasses
 2import pathlib
 3import typing
 4
 5ASSETS_DIR = pathlib.Path(__file__).parent
 6
 7
[docs] 8@dataclasses.dataclass 9class TextAsset: 10 script: str 11 path: pathlib.Path 12 relative_path: typing.ClassVar[str] 13
[docs] 14 @classmethod 15 def load(cls) -> typing.Self: 16 path = ASSETS_DIR / cls.relative_path 17 return cls(script=path.read_text(), path=path)
18 19
[docs] 20class AfterScriptLinux(TextAsset): 21 relative_path = "after_script_linux.sh"
22 23
[docs] 24class BeforeScriptLinux(TextAsset): 25 relative_path = "before_script_linux.sh"
26 27
[docs] 28class ScriptLinux(TextAsset): 29 relative_path = "script_linux.sh"