1
+ name : GitHub Classroom Workflow
2
+
3
+ on :
4
+ push :
5
+ branches : [ main, master ]
6
+ pull_request :
7
+ branches : [ main, master ]
8
+
9
+ permissions :
10
+ checks : write
11
+ actions : read
12
+ contents : read
13
+
14
+ jobs :
15
+ run-autograding-tests :
16
+ runs-on : ubuntu-latest
17
+
18
+ steps :
19
+ - name : Checkout code
20
+ uses : actions/checkout@v4
21
+
22
+ - name : Set up Python
23
+ uses : actions/setup-python@v4
24
+ with :
25
+ python-version : ' 3.9'
26
+
27
+ - name : Install dependencies
28
+ run : |
29
+ python -m pip install --upgrade pip
30
+ pip install -r requirements.txt
31
+
32
+ - name : Basic Python Questions Tests (20 points)
33
+ id : basic-python
34
+ uses : classroom-resources/autograding-command-grader@v1
35
+ with :
36
+ test-name : Basic Python Questions (Q1-Q5)
37
+ setup-command : ' '
38
+ command : python -m pytest tests/test_basic_python.py -v --tb=short
39
+ timeout : 10
40
+ max-score : 20
41
+
42
+ - name : Intermediate Python Questions Tests (25 points)
43
+ id : intermediate-python
44
+ uses : classroom-resources/autograding-command-grader@v1
45
+ with :
46
+ test-name : Intermediate Python Questions (Q6-Q10)
47
+ setup-command : ' '
48
+ command : python -m pytest tests/test_intermediate_python.py -v --tb=short
49
+ timeout : 15
50
+ max-score : 25
51
+
52
+ - name : Advanced Python Questions Tests (30 points)
53
+ id : advanced-python
54
+ uses : classroom-resources/autograding-command-grader@v1
55
+ with :
56
+ test-name : Advanced Python Questions (Q11-Q15)
57
+ setup-command : ' '
58
+ command : python -m pytest tests/test_advanced_python.py -v --tb=short
59
+ timeout : 20
60
+ max-score : 30
61
+
62
+ - name : Backend Development Questions Tests (25 points)
63
+ id : backend-development
64
+ uses : classroom-resources/autograding-command-grader@v1
65
+ with :
66
+ test-name : Backend Development Questions (Q16-Q20)
67
+ setup-command : ' '
68
+ command : python -m pytest tests/test_backend_development.py -v --tb=short
69
+ timeout : 25
70
+ max-score : 25
71
+
72
+ - name : Autograding Reporter
73
+ uses : classroom-resources/autograding-grading-reporter@v1
74
+ env :
75
+ BASIC-PYTHON_RESULTS : " ${{steps.basic-python.outputs.result}}"
76
+ INTERMEDIATE-PYTHON_RESULTS : " ${{steps.intermediate-python.outputs.result}}"
77
+ ADVANCED-PYTHON_RESULTS : " ${{steps.advanced-python.outputs.result}}"
78
+ BACKEND-DEVELOPMENT_RESULTS : " ${{steps.backend-development.outputs.result}}"
79
+ with :
80
+ runners : basic-python,intermediate-python,advanced-python,backend-development
0 commit comments