Commit d3453fb7 authored by Martin Pokorny's avatar Martin Pokorny
Browse files

Add homework definition.

parent e9a8ef62
Loading
Loading
Loading
Loading
+53 −2
Original line number Diff line number Diff line
@@ -34,7 +34,6 @@ students](https://research.redhat.com/blog/2023/02/28/mastering-git-with-univers
And another interview with students:
[Intern Spotlight: Red Hat course helps students unleash the power of Git](https://research.redhat.com/blog/2023/09/11/intern-spotlight-red-hat-course-helps-students-unleash-the-power-of-git/)


# Spring 2026 edition
We are teaching this course in the Spring of 2026 at FI MUNI Brno as part of PB173 Domain Specific Development.

@@ -56,7 +55,59 @@ We have one seminar group open.

## Homeworks

TBA
**HW0 - Prepare git**

* Download Git  
* Log in to faculty GitLab  
* Add SSH keys  
* Git config: username, email, editor, etc.

**HW1 – Initial Fork & Contribution**

* Fork the upstream repository  
* Clone your fork locally  
* Create feature branch: `git switch -c hw1-first-entry`  
* Create `123456.txt` (use your uco number) containing **one** recipe, journal entry, or joke (it is up to you, but keep it civil)  
* Commit with message: `Add initial recipe journal`  
* Push to your fork  
* Create Pull Request from your fork → **upstream main**  
* You will be assigned two peers to review for file format and content  
* You will review two PRs for file format and content  
* Teacher merges all PRs after reviews pass

**HW2 – Second Entry & Review Cycle**

* Sync your fork with upstream (now contains all students' files)  
* Create feature branch: `git switch -c hw2-second-entry`  
* Add a **second** recipe or journal entry to your existing `123456.txt`  
* Commit with a descriptive message  
* Push branch and create PR **to your fork's main**  
* Create PR from your fork's main → upstream main  
* Teacher will comment, but will **not** merge

**HW3 – Controlled Conflict Resolution**

* **Instructor prep**: Instructor directly edits every student's file in upstream, creating conflicts  
* Merge upstream into your main branch  
* Resolve conflicts (keep instructor's metadata \+ your two entries)  
* Commit resolution, push branch  
* PR from HW2 should now be mergeable  
* Teacher merges after verifying proper resolution

**HW4 – CI Pipeline Integration**

* **Instructor prep**: Instructor adds GitLab CI/CD workflow with intentional validation bugs  
* Students sync fork; pipeline fails on their branch  
* Debug and fix the workflow file in a new branch  
* Update your `123456.txt` to comply with new linting rules  
* PR to upstream

**HW5 – GitLab CI/CD**

* Create your own repo on GitLab (or equivalent)  
* Set up GitLab on the repo and create at least one action that will react to a PR in some meaningful way (run “tests,” write a comment, etc.)  
* Open a PR demonstrating the action  
* If you already have an existing project where this could be beneficial to you, you can use that project.

### Project