Skip to content

fix(ci): fork-safe Week 11 autograder + PR body check - #18

Merged
lassebenni merged 1 commit into
mainfrom
fix/ci-fork-safe-autograde
Jul 30, 2026
Merged

fix(ci): fork-safe Week 11 autograder + PR body check#18
lassebenni merged 1 commit into
mainfrom
fix/ci-fork-safe-autograde

Conversation

@lassebenni

Copy link
Copy Markdown
Contributor

Summary

  • Pin grade-assignment.yml to lassebenni/github-actions-fork@fix/allow-unsafe-pr-checkout-for-autograde (same as Week 13) so fork student PRs can be graded again after actions/checkout v6.
  • Add pull_request_target to pr-body-check.yml so fork PRs are not stuck in action_required.

Why

Hannah's Week 11 PR (#14) fails at checkout with: "Refusing to check out fork pull request code from a pull_request_target workflow". The grader never runs on her latest commits.

Test plan

  • Merge this PR
  • Re-run Grade Assignment on PR Hannah N #14
  • Confirm checkout succeeds and a fresh grade comment is posted

Made with Cursor

actions/checkout v6 blocks fork checkouts under pull_request_target
unless allow-unsafe-pr-checkout is set. Pin the reusable grader to the
same fork-safe workflow as Week 13, and run PR body check via
pull_request_target so fork PRs are not stuck on workflow approval.

Co-authored-by: Cursor <cursoragent@cursor.com>
@github-actions

Copy link
Copy Markdown

📝 HackYourFuture auto grade

Assignment Score: 45 / 100 ❌

Status: ❌ Not passed
Minimum score to pass: 60
🧪 The auto grade is experimental and still being improved

Test Details

=== Week 11 Autograder ===
  ✓ PASS  found README.md
  ✓ PASS  found AI_ASSIST.md
  ✓ PASS  found week11-streamlit/app.py
  ✓ PASS  found week11-streamlit/pyproject.toml
  ✓ PASS  found week11-streamlit/uv.lock
  ✗ FAIL  missing required file: week11-streamlit/metric_definitions.md
  ✓ PASS  Level 1: required files (0/20 pts)
  ✓ PASS  root .gitignore excludes .env
  ✓ PASS  week11-streamlit/.env not committed
  ✓ PASS  app.py: no hardcoded Postgres credentials found
  ✓ PASS  Level 2: secrets hygiene (15/15 pts)
  ✓ PASS  app.py: imports a Postgres driver (sqlalchemy or psycopg2)
  ✓ PASS  app.py: reads credentials from the environment
  ✗ FAIL  app.py: raise NotImplementedError still present -- the headline KPIs panel is not implemented
  ✓ PASS  app.py: uses @st.cache_data
  ✓ PASS  Level 3: Streamlit app content (15/25 pts)
  ✗ FAIL  week11-streamlit/metric_definitions.md: empty
  ✓ PASS  Level 4: metric definitions (0/20 pts)
  ✓ PASS  README.md: dashboard link present under 'My submission'
  ✓ PASS  Level 5: Metabase dashboard documented (10/10 pts)
  ⚠ WARN  AI_ASSIST.md: present but brief or has leftover TODOs (902 chars, 4 TODO line(s))
  ✓ PASS  Level 6: AI assistance log (5/10 pts)

Score: 45 / 100  (passing: 60)  pass=false

@lassebenni
lassebenni merged commit 2cd3c96 into main Jul 30, 2026
0 of 2 checks passed
@lassebenni
lassebenni deleted the fix/ci-fork-safe-autograde branch July 30, 2026 08:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant