Vorlage für Pycharm mit GitHub Classroom
Repository / Projekt erstellen
Um Konflikte mit der Benennung im Classroom zu vermeiden, sollten die Repositories und Assignments
- alles in Kleinbuchstaben geschrieben sein
- Worttrennungen mit Bindestrichen sein
Zum Beispiel: m399-lu19-a39-something
Variante A: Mit Template
1. Erstelle ein neues GitHub-Repository. Wähle als Template „BZZ-Commons/python-template“ aus.
Beim Auswählen des Templates wird der Owner zu BZZ-Commons
geändert.
Du musst hier den korrekten Owner z.B. templates-python
auswählen.
2. Klone das neue Repository in PyCharm.
3. PyCharm fragt dich, ob du ein Virtual Environment (venv) erstellen willst, bestätige diese mit [OK].
Variante B: Leeres Repository
- Erstelle ein neues, leeres Repository. Dieses Repo darf keine Dateien enthalten; auch kein README.md oder LICENSE!
- Erstelle ein neues Projekt in PyCharm.
- Erstelle die Dateien und Ordner in PyCharm.
- Führe einen Push ins GitHub Repository durch.
Anpassungen
README.md
Lösche diese Datei oder passe die Beschreibung an.
classroom.yml
name: GitHub Classroom Workflow on: push permissions: checks: write issues: write actions: read contents: read jobs: copy-issues: if: ${{ contains(github.actor, 'classroom') }} uses: BZZ-Commons/workflows/.github/workflows/setup.yml@main with: SOURCE_REPO: templates-python/m319_lu04_a00_classroom # CHANGE owner/name of the repo with the issues TARGET_REPO: ${{ github.repository }} ADD_LABELS: "false" secrets: GHSECRET: ${{ secrets.GITHUB_TOKEN }} grading: if: ${{ !contains(github.actor, 'classroom') }} uses: BZZ-Commons/workflows/.github/workflows/grading.yml@main with: MOODLE: false # CHANGE true=export grade to moodle secrets: inherit
Dieser Workflow umfasst 2 Jobs:
copy-issues
Kopiert die Issues aus einer Vorlage in das Repository des Lernenden. Wird nur durchgeführt, wenn ein Lernender das Assignment in GitHub Classroom akzeptiert.
Entweder du passt bei SOURCE_REPO
auf Zeile 16 den Besitzer und Namen des Vorlage-Repositories an.
Oder du löschst diesen Job raus, indem du die Zeilen 12-20 entfernst.
grading
Führt automatisierte Tests durch und bewertet das Programm. Dieser Job wird bei jedem Push ausser beim Erstellen des Repositories durchgeführt.
Auf Zeile 26 kannst du angeben, ob die Bewertung und das Feedback in Moodle exportiert werden soll. Ändere den Wert auf true
, damit der Export ausgeführt wird.
Lies dazu die Anleitung Bewertung vom Autograding in Moodle übernehmen
copyissues.yml
Dies ist ein manueller Workflow, um die Issues aus einer Vorlage zu kopieren. Falls du bei diesem Projekt nicht mit Issues arbeitest, kannst du diesen Workflow löschen.