autograding-command-grader
README.md
GitHub Classroom Command Grader
Overview
GitHub Classroom Command Grader is a plugin for GitHub Classroom's Autograder. Seamlessly integrate your CS class with GitHub using this action to facilitate the grading process.
Key Features
- Automatic Grading: Evaluate student code submissions and provide immediate feedback.
- Customizable Test Setup: Define pre-test setup commands and specific testing commands.
- Command Execution: Run any command and determine the success based on the exit code.
- Timeout Control: Limit the runtime of tests to prevent excessive resource usage, with a maximum duration of 6 hours.
- Scoring System: Assign a maximum score for tests, awarding points upon successful test completion.
Inputs
Input Name | Description | Required |
---|---|---|
| The unique identifier for the test. | Yes |
| Command to execute prior to the test, typically for environment setup or dependency installation. | No |
| Primary command to run for the test. A zero exit code signifies a successful test. | Yes |
| Duration (in minutes) before the test is terminated. Defaults to 10 minutes with a maximum limit of 6 hours. | No |
| Points to be awarded if the test passes. | No |
Outputs
Output Name | Description |
---|---|
| Outputs the result of the grader, indicating the success or failure of the test. |
Usage
- Add the GitHub Classroom Command Grader action to your workflow.
name: Autograding Tests
on:
push
jobs:
run-tests:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Run Autograding Tests
uses: classroom-resources/autograding-command-grader@v1
with:
test-name: 'Test Name'
setup-command: 'npm install'
command: 'npm test'
timeout: '15'
max-score: '100'
- name: Autograding Reporter
uses: ...