Skip to content

docs+ci: add PR packaging template + enforce it in CI#7

Merged
lassebenni merged 2 commits into
mainfrom
docs/pr-packaging-template
Jul 14, 2026
Merged

docs+ci: add PR packaging template + enforce it in CI#7
lassebenni merged 2 commits into
mainfrom
docs/pr-packaging-template

Conversation

@lassebenni

Copy link
Copy Markdown
Collaborator

What I built

Adds a package-complete PR template plus CI enforcement to this assignment repo.

  • .github/PULL_REQUEST_TEMPLATE.md: tailored to this week's deliverables, with sections What I built / How to review / How to run / What reviewers should see (expected results) / Known limitations / Self-check. Gives a reviewing mentor a package-complete, reproducible submission.
  • .github/workflows/pr-body-check.yml: fails a PR whose description is missing the required headings. GitHub only auto-injects the template in the web compose form / gh pr create without --body; a PR opened via the REST API or --body "..." (the path most AI tools take) skips it silently. This check closes that gap. Editing the PR description re-runs the check automatically (no new commit needed).

How to review

Two added files (one edited on Week 11). Read the template top-to-bottom; the workflow greps case-insensitively for 5 headings.

How to run

No runtime. Verified locally: the filled template passes the check; an empty/free-form body fails and lists the missing headings.

What reviewers should see (expected results)

  • Filled template -> check passes (see this PR's own PR body check).
  • Blob body -> check fails, lists missing sections.

Self-check

  • Template + workflow validated locally against the check logic
  • Workflow uses pull_request (not pull_request_target) with contents: read only
  • No secrets introduced

🤖 Generated with Claude Code

Lasse Benninga and others added 2 commits July 14, 2026 10:55
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

📝 HackYourFuture auto grade

Assignment Score: 39 / 100 ❌

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

Test Details

=== Week 5 Autograder ===
  PASS: Level 1: required files (15/15 pts)
  FAIL: Dockerfile does not use python:3.11-slim base image
  FAIL: Dockerfile does not copy requirements before source code
  PASS: Dockerfile has a CMD instruction
  PASS: Level 2: Dockerfile (3/15 pts)
  PASS: tests/test_pipeline.py has 10 test functions (≥2 required)
  PASS: tests/test_pipeline.py has no NotImplementedError stubs remaining
  PASS: Level 3: unit tests (10/10 pts)
  FAIL: requirements.txt has no pinned packages (use package==version)
  PASS: Level 4: pinned dependencies (0/10 pts)
  PASS: ci.yml triggers on pull_request
  PASS: ci.yml triggers on push to main
  FAIL: ci.yml missing ruff check step
  FAIL: ci.yml missing ruff format step
  FAIL: ci.yml missing pytest step
  FAIL: ci.yml missing docker build step
  PASS: Level 5: CI workflow (8/20 pts)
  FAIL: pipeline.py does not read from os.environ or os.getenv
  FAIL: pipeline.py still contains NotImplementedError
  PASS: Level 6: env-var config (0/15 pts)
  FAIL: assets/acr_push_week5.png missing (Task 7 deliverable)
  PASS: Level 7: ACR screenshot (0/10 pts)
  PASS: AI_ASSIST.md has all three required sections
  FAIL: AI_ASSIST.md still contains TODO placeholders or is too short (681 chars)
  PASS: Level 8: AI report (3/5 pts)
  PASS: .gitignore correctly excludes __pycache__/, *.pyc, and .env

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

@lassebenni
lassebenni merged commit 6d367f0 into main Jul 14, 2026
2 of 3 checks passed
@lassebenni
lassebenni deleted the docs/pr-packaging-template branch July 14, 2026 08:59
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