diff --git a/joj3_config_generator/models/task.py b/joj3_config_generator/models/task.py index 50107f9..2844191 100644 --- a/joj3_config_generator/models/task.py +++ b/joj3_config_generator/models/task.py @@ -262,6 +262,15 @@ class Issue(StrictBaseModel): skip: bool = False +class Grading(StrictBaseModel): + skip_scoreboard: bool = Field( + False, validation_alias=AliasChoices("skip-scoreboard", "skip_scoreboard") + ) + skip_failed_table: bool = Field( + False, validation_alias=AliasChoices("skip-failed-table", "skip_failed_table") + ) + + class Config(StrictBaseModel): root: Path = Field(Path("."), exclude=True) path: Path = Field(Path("task.toml"), exclude=True) @@ -272,6 +281,7 @@ class Config(StrictBaseModel): None, validation_alias=AliasChoices("max-total-score", "max_total_score") ) issue: Issue = Issue() + grading: Grading = Grading() scoreboard: str = "scoreboard.csv" scoreboard_column_by_ref: bool = Field( False, diff --git a/joj3_config_generator/transformers/repo.py b/joj3_config_generator/transformers/repo.py index 3703f6e..93f9cb6 100644 --- a/joj3_config_generator/transformers/repo.py +++ b/joj3_config_generator/transformers/repo.py @@ -44,6 +44,10 @@ def get_teapot_post_stage( args.append("--scoreboard-column-by-ref") if task_conf.issue.skip: args.append("--skip-result-issue") + if task_conf.grading.skip_scoreboard: + args.append("--skip-scoreboard") + if task_conf.grading.skip_failed_table: + args.append("--skip-failed-table") if repo_conf.issue.label.exclusive: args.append("--issue-label-exclusive") if not repo_conf.issue.show_submitter: diff --git a/tests/convert/full/task.toml b/tests/convert/full/task.toml index 553be99..0717cea 100644 --- a/tests/convert/full/task.toml +++ b/tests/convert/full/task.toml @@ -10,6 +10,11 @@ scoreboard-column-by-ref = true # skip creating issue after job done, default: false issue.skip = false +# skip updating scoreboard in grading branch in course-joj repo after job done, default: false +grading.skip-scoreboard = false +# skip updating failed table in grading branch in course-joj repo after job done, default: false +grading.skip-failed-table = false + # task triggered not in this time period will not pass the health check time.begin = 2024-12-29 23:59:59 # begin time, default: no start time, do not check time.end = 2024-12-30 23:59:59 # end time, default: no end time, do not check