Skip to content

Replace presentation task with project - #7

Open
algomaster99 wants to merge 3 commits into
KTH:mainfrom
algomaster99:fix/replace-presentation-with-project
Open

Replace presentation task with project#7
algomaster99 wants to merge 3 commits into
KTH:mainfrom
algomaster99:fix/replace-presentation-with-project

Conversation

@algomaster99

@algomaster99 algomaster99 commented Aug 28, 2026

Copy link
Copy Markdown

Replaces "presentation" with "project" (KTH/devops-course#2942) in the task→Canvas-group mapping and criteria validation.

devops-course's 2026 offering replaced the "presentation" task category
with "project" (see KTH/devops-course#2942). Updates the task/Canvas-group
mapping and criteria validation to match.

Also fixes task_to_group_category_id building its whole mapping dict
eagerly regardless of the requested task_name: since it evaluated
canvas_groups_set["Presentations"] unconditionally, checks for any other
task (e.g. scientific-paper) would fail with a KeyError whenever the
"Presentations" Canvas group category didn't exist -- which is expected
now that it's not offered. It now only looks up the group for the
requested task, and raises properly on an unmapped task name instead of
silently returning an Exception object.
@algomaster99 algomaster99 changed the title Replace presentation task with project; fix eager dict evaluation Replace presentation task with project Aug 28, 2026
@algomaster99

Copy link
Copy Markdown
Author

@monperrus please merge.

parse_criteria() crashed with IndexError on any section lacking the full
title/description/table/grading-note structure -- e.g. "Project", which
has no criteria table yet. It now skips such sections instead.

validate_criteria()'s hardcoded task-name list also no longer matched the
actual section headers (e.g. "Executable Tutorials" vs "Executable
Tutorial", "Open-source contributions" vs "Open-Source Contribution"),
so every check failed regardless. Corrected to match, and dropped
"Project" from the required list since it's intentionally skipped for now.
…hema

grading-criteria.md was redesigned for 2026 (KTH/devops-course#2928) to use
Category/Criterion/Description/Requirement table columns instead of the old
Criteria/Yes/No checklist, which broke validate_criteria() (every row failed
validation) and rubric_payload() (assumed 'Criteria' + arbitrary Yes/No rating
columns). Category isn't used downstream, so it's dropped during parsing.

Rubric mapping follows the shape of a prior year's real Canvas rubric:
description is "Criterion: Description", and ratings are Mandatory(1pt)/-(0pt)
for Mandatory rows or Yes(1pt)/No(0pt) otherwise.

Also drops the auto-filed "grading file not formatted" GitHub issue on
validation failure -- it hardcoded an assignee that's no longer a valid
GitHub user, causing a 422 that masked the actual validation errors.
LeuisKen pushed a commit to LeuisKen/devops-course that referenced this pull request Aug 29, 2026
… merge

Testing KTH/github-canvas-integration-devops#7 against PR KTH#2935 since we
lack merge access there. Revert once that PR merges to main.
LeuisKen pushed a commit to LeuisKen/devops-course that referenced this pull request Aug 29, 2026
Mirrors the existing TEMP override on check_task_canvas.yml
(KTH#2944). Verifies KTH/github-canvas-integration-devops#7
before someone with access merges it to main. Revert once that PR merges.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant