record-manager-solved/.forgejo/workflows/grade.yml
trevon 8c08fb626f
Some checks are pending
grade / grade (push) Waiting to run
push (solved)
2026-08-26 01:12:23 +00:00

34 lines
1.3 KiB
YAML

name: grade
on: [push]
# Production wiring (gitea-runner on ghost, docker mode):
# - job container = gitea/runner-images (has docker CLI) + the host docker
# socket, so docker_grade.sh drives the host daemon exactly as designed
# - hidden tests mount from the runner host (/opt/grade-hidden) — never in
# this repo
# - GRADE_HMAC_SECRET mounts from /opt/grade/grade.env on the runner host
jobs:
grade:
runs-on: ubuntu-latest
container:
image: gitea/runner-images:ubuntu-22.04
options: >-
-v /var/run/docker.sock:/var/run/docker.sock
-v /opt/grade/grade.env:/run/secrets/grade.env:ro
-v /opt/grade-hidden:/opt/grade-hidden:ro
steps:
- uses: actions/checkout@v4
- name: Grade (blank fails, solved passes)
run: |
set -a; . /run/secrets/grade.env; set +a
docker run --rm --network=none \
-v "$PWD":/work \
-v /opt/grade-hidden/cs2060/record-manager:/hidden:ro \
-e GRADE_HMAC_SECRET \
grade-c:dev \
python3 /opt/grade/grade_cli.py run \
--student /work --hidden /hidden \
--course CS2060 --assignment record-manager \
--out /work/results.json
echo "--- signed result summary ---"
head -c 400 results.json