Dies ist eine alte Version des Dokuments!
Classroom50-Repo
In der GitHub-Organisation ist ein Repository „classroom50“ mit den Einstellungen, Scripts und Workflows für die Classrooms. Pro Classroom besteht ein Unterordner mit dem Namen des Classrooms.
Autograding
Classroom50-Repository
Unter …classroom50/blob/main/.github/workflows/autograde-runner.yaml erstellt Classroom50 eine Action für die Bewertung.
Ersetze diese Action durch unsere Action für py-autograding.yml.
- autograde-runner.yml
name: Workflow for BZZ Programming Lessons using Github-Classroom and Moodle on: [push, fork] permissions: checks: write issues: write actions: read contents: read jobs: grading: if: ${{ !contains(github.event.head_commit.message, 'CLASSROOM 50') && !contains(github.event.head_commit.message, 'NOACTION') }} uses: BZZ-Commons/pygrader/.github/workflows/py_autograding.yml@main secrets: inherit
Template-Repo
Die Template-Repositories sind die Vorlagen, welche für die Lernenden geklont werden. Zum Beispiel https://github.com/templates-python/m320-lu02-a01-door
In den einzelnen Template-Repositories wird keine Action für die Bewertung benötigt.
Beim Erstellen des Repositories für die Lernenden wird automatisch eine Action eingefügt, die autograde-runner.yml im classroom50-Repository aufruft.
Konfiguration der Bewertung
Die Einstellungen für Unittests, Linter, … werden im Ordner .github/autograding definiert.
Für ein Python-Programm sind das typischerweise:
lint.json: Definiert die Dateien, die von pylint geprüft werden sollen.pylintrc: Einstellungen und Regeln für pylint.unittests.json: Definition der Unittests für pytest.