refactor: files.required -> health-check.required-files
This commit is contained in:
parent
7e6ee1b63e
commit
8f96115e6e
|
@ -9,7 +9,6 @@ from joj3_config_generator.models.common import Memory
|
|||
|
||||
class Files(BaseModel):
|
||||
required: List[str] = []
|
||||
# TODO: remove immutable in the future
|
||||
immutable: List[str] = []
|
||||
|
||||
|
||||
|
@ -45,6 +44,9 @@ class HealthCheck(BaseModel):
|
|||
Path("immutable"),
|
||||
validation_alias=AliasChoices("immutable-path", "immutable_path"),
|
||||
)
|
||||
required_files: List[str] = Field(
|
||||
[], validation_alias=AliasChoices("required-files", "required_files")
|
||||
)
|
||||
|
||||
@field_validator("max_size", mode="before")
|
||||
@classmethod
|
||||
|
@ -76,7 +78,6 @@ class Config(BaseModel):
|
|||
"",
|
||||
validation_alias=AliasChoices("grading-repo-name", "grading_repo_name"),
|
||||
)
|
||||
files: Files = Files()
|
||||
sandbox_token: str = Field(
|
||||
"", validation_alias=AliasChoices("sandbox-token", "sandbox_token")
|
||||
)
|
||||
|
@ -89,7 +90,8 @@ class Config(BaseModel):
|
|||
health_check: HealthCheck = Field(
|
||||
HealthCheck(), validation_alias=AliasChoices("health-check", "health_check")
|
||||
)
|
||||
# TODO: remove max_size, health_check_score, and immutable_path in the future
|
||||
# TODO: remove files, max_size, health_check_score, and immutable_path in the future
|
||||
files: Files = Files()
|
||||
max_size: float = Field(
|
||||
10, ge=0, validation_alias=AliasChoices("max-size", "max_size")
|
||||
)
|
||||
|
@ -126,4 +128,9 @@ class Config(BaseModel):
|
|||
self.health_check.max_size = Memory(f"{self.max_size}m")
|
||||
if "immutable_path" in self.model_fields_set:
|
||||
self.health_check.immutable_path = self.immutable_path
|
||||
if (
|
||||
"files" in self.model_fields_set
|
||||
and "required" in self.files.model_fields_set
|
||||
):
|
||||
self.health_check.required_files = self.files.required
|
||||
return self
|
||||
|
|
|
@ -125,7 +125,7 @@ def get_health_check_args(repo_conf: repo.Config) -> List[str]:
|
|||
"/usr/local/bin/repo-health-checker",
|
||||
"-root=.",
|
||||
f"-repoSize={str(repo_conf.health_check.max_size / 1024 / 1024)}", # B -> MB
|
||||
*[f"-meta={meta}" for meta in repo_conf.files.required],
|
||||
*[f"-meta={meta}" for meta in repo_conf.health_check.required_files],
|
||||
f"-checkFileSumList={','.join(file_sums)}",
|
||||
f"-checkFileNameList={','.join(file_names)}",
|
||||
]
|
||||
|
|
|
@ -5,14 +5,11 @@ sandbox-token = "test"
|
|||
max-total-score = 1000
|
||||
|
||||
health-check.max-size = "50.5m"
|
||||
health-check.immutable_path = "immutable"
|
||||
health-check.immutable-path = "immutable"
|
||||
health-check.required-files = ["README.md", "Changelog.md"]
|
||||
|
||||
# for tests
|
||||
[groups]
|
||||
name = ["joj", "run"]
|
||||
max-count = [1000, 1000]
|
||||
time-period-hour = [24, 24]
|
||||
|
||||
[files]
|
||||
required = ["README.md", "Changelog.md"]
|
||||
immutable = [".gitignore", ".gitattributes",".gitea/workflows/push.yaml", ".gitea/workflows/release.yaml"]
|
||||
|
|
Loading…
Reference in New Issue
Block a user