This commit is contained in:
		
							parent
							
								
									aee123601f
								
							
						
					
					
						commit
						f5b7563869
					
				|  | @ -24,7 +24,8 @@ def convert(repo_conf: repo.Config, task_conf: task.Config) -> result.Config: | ||||||
|             default=result.Cmd( |             default=result.Cmd( | ||||||
|                 args=task_stage.command.split(), |                 args=task_stage.command.split(), | ||||||
|                 copy_in={ |                 copy_in={ | ||||||
|                     file: result.CmdFile(src=file) for file in task_stage.files.import_ |                     file: result.LocalFile(src=file) | ||||||
|  |                     for file in task_stage.files.import_ | ||||||
|                 }, |                 }, | ||||||
|                 copy_out_cached=task_stage.files.export, |                 copy_out_cached=task_stage.files.export, | ||||||
|             ), |             ), | ||||||
|  |  | ||||||
|  | @ -1,26 +1,47 @@ | ||||||
| from typing import Any, Dict, List, Optional | from typing import Any, Dict, List, Optional, Union | ||||||
| 
 | 
 | ||||||
| from pydantic import BaseModel, Field | from pydantic import BaseModel, Field | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| class CmdFile(BaseModel): | class LocalFile(BaseModel): | ||||||
|     src: Optional[str] = None |     src: str | ||||||
|     content: Optional[str] = None | 
 | ||||||
|     file_id: Optional[str] = Field(None, serialization_alias="fileId") | 
 | ||||||
|     name: Optional[str] = None | class MemoryFile(BaseModel): | ||||||
|     max: Optional[int] = None |     content: str | ||||||
|     symlink: Optional[str] = None | 
 | ||||||
|     stream_in: bool = Field(False, serialization_alias="streamIn") | 
 | ||||||
|     stream_out: bool = Field(False, serialization_alias="streamOut") | class PreparedFile(BaseModel): | ||||||
|     pipe: bool = False |     file_id: str = Field(..., alias="fileId") | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | class Collector(BaseModel): | ||||||
|  |     name: str | ||||||
|  |     max: int | ||||||
|  |     pipe: bool = True | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | class Symlink(BaseModel): | ||||||
|  |     symlink: str | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | class StreamIn(BaseModel): | ||||||
|  |     stream_in: bool = Field(..., alias="streamIn") | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | class StreamOut(BaseModel): | ||||||
|  |     stream_out: bool = Field(..., alias="streamOut") | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | InputFile = Union[LocalFile | MemoryFile | PreparedFile | Symlink] | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| class Cmd(BaseModel): | class Cmd(BaseModel): | ||||||
|     args: List[str] |     args: List[str] | ||||||
|     env: List[str] = [] |     env: List[str] = [] | ||||||
|     stdin: Optional[CmdFile] = None |     stdin: Optional[Union[InputFile | StreamIn]] = None | ||||||
|     stdout: Optional[CmdFile] = None |     stdout: Optional[Union[Collector | StreamOut]] = None | ||||||
|     stderr: Optional[CmdFile] = None |     stderr: Optional[Union[Collector | StreamOut]] = None | ||||||
|     cpu_limit: int = Field(0, serialization_alias="cpuLimit") |     cpu_limit: int = Field(0, serialization_alias="cpuLimit") | ||||||
|     real_cpu_limit: int = Field(0, serialization_alias="realCpuLimit") |     real_cpu_limit: int = Field(0, serialization_alias="realCpuLimit") | ||||||
|     clock_limit: int = Field(0, serialization_alias="clockLimit") |     clock_limit: int = Field(0, serialization_alias="clockLimit") | ||||||
|  | @ -29,7 +50,7 @@ class Cmd(BaseModel): | ||||||
|     proc_limit: int = Field(0, serialization_alias="procLimit") |     proc_limit: int = Field(0, serialization_alias="procLimit") | ||||||
|     cpu_rate_limit: int = Field(0, serialization_alias="cpuRateLimit") |     cpu_rate_limit: int = Field(0, serialization_alias="cpuRateLimit") | ||||||
|     cpu_set_limit: str = Field("", serialization_alias="cpuSetLimit") |     cpu_set_limit: str = Field("", serialization_alias="cpuSetLimit") | ||||||
|     copy_in: Dict[str, CmdFile] = Field({}, serialization_alias="copyIn") |     copy_in: Dict[str, InputFile] = Field({}, serialization_alias="copyIn") | ||||||
|     copy_in_cached: Dict[str, str] = Field({}, serialization_alias="copyInCached") |     copy_in_cached: Dict[str, str] = Field({}, serialization_alias="copyInCached") | ||||||
|     copy_in_dir: str = Field(".", serialization_alias="copyInDir") |     copy_in_dir: str = Field(".", serialization_alias="copyInDir") | ||||||
|     copy_out: List[str] = Field([], serialization_alias="copyOut") |     copy_out: List[str] = Field([], serialization_alias="copyOut") | ||||||
|  | @ -45,9 +66,9 @@ class Cmd(BaseModel): | ||||||
| class OptionalCmd(BaseModel): | class OptionalCmd(BaseModel): | ||||||
|     args: Optional[List[str]] = None |     args: Optional[List[str]] = None | ||||||
|     env: Optional[List[str]] = None |     env: Optional[List[str]] = None | ||||||
|     stdin: Optional[CmdFile] = None |     stdin: Optional[Union[InputFile | StreamIn]] = None | ||||||
|     stdout: Optional[CmdFile] = None |     stdout: Optional[Union[Collector | StreamOut]] = None | ||||||
|     stderr: Optional[CmdFile] = None |     stderr: Optional[Union[Collector | StreamOut]] = None | ||||||
|     cpu_limit: Optional[int] = Field(None, serialization_alias="cpuLimit") |     cpu_limit: Optional[int] = Field(None, serialization_alias="cpuLimit") | ||||||
|     real_cpu_limit: Optional[int] = Field(None, serialization_alias="realCpuLimit") |     real_cpu_limit: Optional[int] = Field(None, serialization_alias="realCpuLimit") | ||||||
|     clock_limit: Optional[int] = Field(None, serialization_alias="clockLimit") |     clock_limit: Optional[int] = Field(None, serialization_alias="clockLimit") | ||||||
|  | @ -56,7 +77,7 @@ class OptionalCmd(BaseModel): | ||||||
|     proc_limit: Optional[int] = Field(None, serialization_alias="procLimit") |     proc_limit: Optional[int] = Field(None, serialization_alias="procLimit") | ||||||
|     cpu_rate_limit: Optional[int] = Field(None, serialization_alias="cpuRateLimit") |     cpu_rate_limit: Optional[int] = Field(None, serialization_alias="cpuRateLimit") | ||||||
|     cpu_set_limit: Optional[str] = Field(None, serialization_alias="cpuSetLimit") |     cpu_set_limit: Optional[str] = Field(None, serialization_alias="cpuSetLimit") | ||||||
|     copy_in: Optional[Dict[str, CmdFile]] = Field(None, serialization_alias="copyIn") |     copy_in: Optional[Dict[str, InputFile]] = Field(None, serialization_alias="copyIn") | ||||||
|     copy_in_cached: Optional[Dict[str, str]] = Field( |     copy_in_cached: Optional[Dict[str, str]] = Field( | ||||||
|         None, serialization_alias="copyInCached" |         None, serialization_alias="copyInCached" | ||||||
|     ) |     ) | ||||||
|  |  | ||||||
|  | @ -29,16 +29,10 @@ | ||||||
|                             "cpuSetLimit": "", |                             "cpuSetLimit": "", | ||||||
|                             "copyIn": { |                             "copyIn": { | ||||||
|                                 "tools/matlab-joj": { |                                 "tools/matlab-joj": { | ||||||
|                                     "src": "tools/matlab-joj", |                                     "src": "tools/matlab-joj" | ||||||
|                                     "streamIn": false, |  | ||||||
|                                     "streamOut": false, |  | ||||||
|                                     "pipe": false |  | ||||||
|                                 }, |                                 }, | ||||||
|                                 "tools/matlab_formatter.py": { |                                 "tools/matlab_formatter.py": { | ||||||
|                                     "src": "tools/matlab_formatter.py", |                                     "src": "tools/matlab_formatter.py" | ||||||
|                                     "streamIn": false, |  | ||||||
|                                     "streamOut": false, |  | ||||||
|                                     "pipe": false |  | ||||||
|                                 } |                                 } | ||||||
|                             }, |                             }, | ||||||
|                             "copyInCached": {}, |                             "copyInCached": {}, | ||||||
|  | @ -96,16 +90,10 @@ | ||||||
|                             "cpuSetLimit": "", |                             "cpuSetLimit": "", | ||||||
|                             "copyIn": { |                             "copyIn": { | ||||||
|                                 "tools/matlab-joj": { |                                 "tools/matlab-joj": { | ||||||
|                                     "src": "tools/matlab-joj", |                                     "src": "tools/matlab-joj" | ||||||
|                                     "streamIn": false, |  | ||||||
|                                     "streamOut": false, |  | ||||||
|                                     "pipe": false |  | ||||||
|                                 }, |                                 }, | ||||||
|                                 "tools/matlab_formatter.py": { |                                 "tools/matlab_formatter.py": { | ||||||
|                                     "src": "tools/matlab_formatter.py", |                                     "src": "tools/matlab_formatter.py" | ||||||
|                                     "streamIn": false, |  | ||||||
|                                     "streamOut": false, |  | ||||||
|                                     "pipe": false |  | ||||||
|                                 } |                                 } | ||||||
|                             }, |                             }, | ||||||
|                             "copyInCached": {}, |                             "copyInCached": {}, | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user