Bewertung vom Autograding in Moodle übernehmen (alt)

Dies ist die Anleitung für den Workflow im Schuljahr 2022/2023. Neu gilt die Anleitung unter Bewertung vom Autograding in Moodle übernehmen

Voraussetzung

Die Lernenden müssen Ihren GitHub-Benutzernamen in ihrem Moodle-Profil eintragen. Unter „Weitere Namen“ befindet sich das Feld „Pseudonym“.

Workflow in Template

  1. Öffne das Repository mit dem Template für das Assignment.
  2. Erstelle die Ordner .github/classroom und .github/workflows.
  3. Erstelle die Datei autograding.yml in .github/workflows.
    name: GitHub Classroom Workflow
     
    on: [push]
     
    permissions:
      checks: write
      actions: read
      contents: read
     
    jobs:
      build:
        if: ${{ !contains(github.actor, 'classroom') }}
        name: Autograding
        runs-on: ubuntu-latest
        steps:
          - uses: actions/checkout@v3
          - uses: education/autograding@v1
            id: autograding
          - name: export-grade
            if: always()
            run: |
              curl -X POST "https://it.bzz.ch/fgitapi/gh_grade/${{ github.repository }}/${{ steps.autograding.outputs.Points }}"
  4. Erstelle die Datei autograding.json in .github/classroom.
  5. Füge deine Testfälle in diese Datei ein.

Beispiel für Testfälle

{
  "tests": [
    {
      "name": "test_main1",
      "setup": "sudo -H pip3 install -r requirements.txt",
      "run": "pytest -v  -k \"test_main1\"",
      "input": "",
      "output": "",
      "comparison": "included",
      "timeout": 10,
      "points": 1
    },
    {
      "name": "test_main2",
      "setup": "sudo -H pip3 install -r requirements.txt",
      "run": "pytest -v  -k \"test_main2\"",
      "input": "",
      "output": "",
      "comparison": "included",
      "timeout": 10,
      "points": 1
    }
  ]
}

Classroom Assignment

  1. Erstelle ein neues Assignment in GitHub Classroom.
    • Der Name des Assignments darf keinen Bindestrich enthalten.
    • Merke dir den Namen des Assignments, z.B. „m319_lU08_a01_multiply“.
    • Wähle das Template aus dem letzten Abschnitt aus.

Aufgabe in Moodle

  1. Erstelle eine Aufgabe in Moodle.
  2. Trage den Namen des Classroom Assignments unter „Weitere Einstellungen“ ⇒ „ID-Nummer“ ein.