Title: Lab 8 — Your First Pull Request
Course: AIINFRA 100: AI Systems & Development Environments > Section: Week 08 — Collaborative Development with GitHub — Midterm

🛠️ Lab 8 — Your First Pull Request (50 pts)

Goal: Practice the full GitHub collaboration workflow — fork, branch, commit, push, pull request, peer review, merge — and get a first taste of GitHub Actions by running an automated check on your own code. Steps:

1. Go to GitHub's official practice repository, octocat/Spoon-Knife, and click Fork to create your own copy of it under your GitHub account.
2. Clone your fork to your machine using the Git skills from Week 7 (git clone <your-fork-url>), then cd into the new folder in VS Code's terminal.
3. Create a new branch for your change: git checkout -b my-first-edit.
4. Open index.html (or add a new small Python script, e.g. hello.py) and make a small, clearly-labeled edit — add a line with your name and today's date.
5. Stage and commit your change: git add . then git commit -m "Add my first edit".
6. Push your branch to your fork: git push origin my-first-edit.
7. On GitHub, open a pull request comparing your my-first-edit branch to your fork's main branch. Give it a clear title and description.
8. Partner with a classmate: swap PR links and each leave at least one inline review comment on your partner's diff (a question, a suggestion, or an approval with feedback).
9. Address any feedback with a small follow-up commit if needed, then merge your own pull request using Merge pull request.
10. Capstone step: In your fork, create a file at .github/workflows/ci.yml that runs a simple check on push — for a Python script, use python -m py_compile hello.py; for the default repo, a simple placeholder step is fine. Commit and push it directly (or via another small PR), then open the Actions tab on your repo and watch the workflow run automatically. This is free for public repositories.

Deliverables: Submit the URL of your merged pull request, the URL of your .github/workflows/ci.yml file, and a screenshot of a completed (green ✅) run in the Actions tab.