Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

howto:git:classroom50:einrichtung [2026/08/14 11:13] – angelegt kmaurizihowto:git:classroom50:einrichtung [2026/08/17 08:51] (aktuell) – Sync aus BZZ-Commons/pygrader50 (v2.1.2) admin
Zeile 8: Zeile 8:
 | ''<CLASSROOM>'' | Kurzname des Klassenzimmers = Ordner im Config-Repo | ''m320-ix25'' | | ''<CLASSROOM>'' | Kurzname des Klassenzimmers = Ordner im Config-Repo | ''m320-ix25'' |
 | ''<SLUG>'' | Slug einer Aufgabe | ''m320-lu04-a4-objektkommunikation'' | | ''<SLUG>'' | Slug einer Aufgabe | ''m320-lu04-a4-objektkommunikation'' |
-| ''<TAG>'' | gepinnte pygrader50-Version | ''v2.0.0'' |+| ''<TAG>'' | gepinnte pygrader50-Version | ''v2.1.2'' |
  
 ''<ORG>'' und ''<CLASSROOM>'' sind oft gleich, müssen es aber nicht sein — der ''<ORG>'' und ''<CLASSROOM>'' sind oft gleich, müssen es aber nicht sein — der
Zeile 35: Zeile 35:
  
 <code bash> <code bash>
-git tag v2.0.&& git push origin main --tags+git tag v2.1.&& git push origin main --tags
 </code> </code>
  
 Der Tag ist das, was die Klassenzimmer pinnen. Ohne Tag kein reproduzierbares Der Tag ist das, was die Klassenzimmer pinnen. Ohne Tag kein reproduzierbares
 Semester: ''main'' würde sich unter laufenden Bewertungen verändern. Semester: ''main'' würde sich unter laufenden Bewertungen verändern.
 +
 +Zum Tag gehören die Werkzeug-Versionen. ''pyproject.toml'' pinnt ''pytest'',
 +''pytest-timeout'' und ''pylint'' exakt, nicht als Untergrenze — sonst
 +installierte jeder Bewertungslauf das jeweils Neueste und eine
 +pylint-Minor-Version verschöbe mitten im Semester allen die Lint-Punkte. Ein
 +Upgrade heisst deshalb:
 +
 +  - Pins in ''pyproject.toml'' hochziehen und lokal prüfen, dass sie zusammen installieren.
 +  - ''version'' dort und ''__version__'' in ''src/pygrader50/__init__.py'' anheben.
 +  - ''VERSION'' in ''bootstrap/autograder.py'' und den Tag in ''classroom50/moodle-sync.yaml'' mitziehen.
 +  - Taggen, dann Schritt 2 erneut ausführen.
  
 **Prüfen**, dass der Pin installierbar ist — sonst scheitert er erst im ersten **Prüfen**, dass der Pin installierbar ist — sonst scheitert er erst im ersten
Zeile 63: Zeile 74:
  
 <code python> <code python>
-VERSION = 'v2.0.0'+VERSION = 'v2.1.2'
 </code> </code>
  
  • howto/git/classroom50/einrichtung.txt
  • Zuletzt geändert: 2026/08/17 08:51
  • von admin