Skip to content

Commit 174da9d

Browse files
Update autograding workflow
1 parent 858c2d0 commit 174da9d

File tree

1 file changed

+80
-0
lines changed

1 file changed

+80
-0
lines changed

.github/workflows/classroom.yml

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
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

Comments
 (0)