Skip to content

Commit 6079a2e

Browse files
Create GitHub Classroom Autograding Workflow
0 parents  commit 6079a2e

File tree

1 file changed

+59
-0
lines changed

1 file changed

+59
-0
lines changed

.github/workflows/classroom.yml

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
name: Autograding Tests
2+
'on':
3+
- push
4+
- repository_dispatch
5+
permissions:
6+
checks: write
7+
actions: read
8+
contents: read
9+
jobs:
10+
run-autograding-tests:
11+
runs-on: ubuntu-latest
12+
if: github.actor != 'github-classroom[bot]'
13+
steps:
14+
- name: Checkout code
15+
uses: actions/checkout@v4
16+
- name: grade1
17+
id: grade1
18+
uses: classroom-resources/autograding-command-grader@v1
19+
with:
20+
test-name: grade1
21+
setup-command: pip install pytest numpy
22+
command: pytest grade_task1.py
23+
timeout: 2
24+
max-score: 1
25+
- name: grade2
26+
id: grade2
27+
uses: classroom-resources/autograding-command-grader@v1
28+
with:
29+
test-name: grade2
30+
setup-command: pip install numpy pytest
31+
command: pytest grade_task2.py
32+
timeout: 2
33+
- name: grade3
34+
id: grade3
35+
uses: classroom-resources/autograding-command-grader@v1
36+
with:
37+
test-name: grade3
38+
setup-command: pip install numpy pytest
39+
command: pytest grade_task3.py
40+
timeout: 2
41+
- name: certificate
42+
id: certificate
43+
uses: classroom-resources/autograding-command-grader@v1
44+
with:
45+
test-name: certificate
46+
setup-command: ''
47+
command: if [ -f "certificate.pdf" ]; then echo "File exists"; else echo "File
48+
does not exist"; exit 1; fi
49+
timeout: 2
50+
max-score: 1
51+
- name: Autograding Reporter
52+
uses: classroom-resources/autograding-grading-reporter@v1
53+
env:
54+
GRADE1_RESULTS: "${{steps.grade1.outputs.result}}"
55+
GRADE2_RESULTS: "${{steps.grade2.outputs.result}}"
56+
GRADE3_RESULTS: "${{steps.grade3.outputs.result}}"
57+
CERTIFICATE_RESULTS: "${{steps.certificate.outputs.result}}"
58+
with:
59+
runners: grade1,grade2,grade3,certificate

0 commit comments

Comments
 (0)