Skip to content

feat(data-track/week-5): add Week 5 practice exercises#20

Merged
lassebenni merged 2 commits into
mainfrom
feat/data-track-week-5
May 30, 2026
Merged

feat(data-track/week-5): add Week 5 practice exercises#20
lassebenni merged 2 commits into
mainfrom
feat/data-track-week-5

Conversation

@lassebenni

Copy link
Copy Markdown
Collaborator

Summary

Scaffolds 7 practice exercises for Week 5: Containers & CI/CD in the HYF Data Track curriculum.

Exercises

Folder Topic Chapter
exercise_1/ Minimal Pipeline to Container Ch3 Docker Fundamentals
exercise_2/ Cache-Friendly Dockerfile (requirements.txt) Ch3 + Ch2
exercise_3/ Cache-Friendly Dockerfile (uv) Ch3 + Ch2
exercise_4/ Compare both approaches (written) Ch2 + Ch3
exercise_5/ CI Smoke Test — GitHub Actions + pytest Ch5
exercise_6/ Environment Variable Patterns Ch3
exercise_7/ Image Tagging Strategy Ch4

Layout

Single-branch + solutions/ pattern (same as Weeks 1–4). Each exercise_N/solutions/ holds the reference answer with # WHY commentary.

Verification

  • pipeline.py (Ex1/2/6): runs cleanly — API key present: False
  • uv.lock (Ex3): generated with uv 0.10.8
  • test_smoke.py (Ex5): pytest — 1 passed in 0.02s
  • Dockerfiles (Ex1–3, 6) and GitHub Actions workflow (Ex5) require Docker/GitHub to run; solutions carry # WHY comments for each instruction

Curriculum chapter

The practice chapter week_5__6_practice.md will be wired to this folder with Codespace + 📦 Files: callouts in a follow-up commit to the datatrack repo.

Lasse Benninga added 2 commits May 21, 2026 22:43
Exercises cover the five Week 5 content chapters:
- Ex1: Minimal Pipeline to Container (Ch3 Docker Fundamentals)
- Ex2: Cache-Friendly Dockerfile with requirements.txt (Ch3 + Ch2)
- Ex3: Cache-Friendly Dockerfile with uv (Ch3 + Ch2)
- Ex4: Compare both Docker approaches, written answers (Ch2 + Ch3)
- Ex5: CI Smoke Test — GitHub Actions + pytest (Ch5)
- Ex6: Environment Variable Patterns — -e, --env-file, ARG vs ENV (Ch3)
- Ex7: Image Tagging Strategy — docker tag, commit SHA (Ch4)

Verified end-to-end:
- Ex1/2/6: pipeline.py runs cleanly (API key present: False)
- Ex3: uv.lock generated from pyproject.toml (uv 0.10.8)
- Ex5: pytest test_smoke.py passes (1 passed in 0.02s)
- Ex4/7: conceptual — verified against reference answers in solutions/
- Dockerfiles (Ex1-3, 6) and GitHub Actions (Ex5) require Docker/GitHub to run;
  solutions carry # WHY comments for each instruction
…apter

The practice chapter (week_5__6_practice.md) references 'src/pipeline.py' in
Exercise 1. Align exercises 1-3 and 6 to use src/ subdirectory structure.

- Rename exercise_{1,2,3,6}/pipeline.py -> src/pipeline.py
- Update all Dockerfiles (starter + solution) to COPY src/ and CMD src/pipeline.py
- Update READMEs to reference src/pipeline.py
@lassebenni lassebenni merged commit 6c395e8 into main May 30, 2026
@lassebenni lassebenni deleted the feat/data-track-week-5 branch May 30, 2026 11:34
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