How to set up your environment, write tests, and submit your work.
A "fork" is your personal copy of the repository on GitHub. You'll work in your fork and submit changes back via a Pull Request.
- Go to https://github.com/HackXIt/42vienna-robotframework-workshop
- Click the "Fork" button (top-right corner)
- On the "Create a new fork" page:
- Owner: Your GitHub username (already selected)
- Repository name: Keep the default
- Leave "Copy the
mainbranch only" checked
- Click "Create fork"
You now have your own copy at https://github.com/YOUR_USERNAME/42vienna-robotframework-workshop.
Codespaces gives you a full development environment in your browser — no local installation needed.
- Go to your fork (not the original repo):
https://github.com/YOUR_USERNAME/42vienna-robotframework-workshop - Click the green "Code" button
- Switch to the "Codespaces" tab
- Click "Create codespace on main"
- Wait ~3-5 minutes for the environment to build
The DevContainer automatically installs everything: Python, Node.js, Robot Framework, Browser Library, and Chromium.
When the terminal appears in your Codespace, run:
uv run robot tests/00_setup_verification/You should see: 1 test, 1 passed, 0 failed
If anything fails, run the environment check:
python scripts/check_environment.py-
Create your exercise file from the template:
cp tests/student_exercises/_template.robot tests/student_exercises/yourname_exercise_1.robot
Replace
yournamewith your actual name (lowercase, no spaces). -
Edit the file in VS Code (it's already open in your Codespace)
-
Run your test to verify it works:
uv run robot tests/student_exercises/yourname_exercise_1.robot
-
Check the results — open
results/log.htmlfor detailed execution logs
See Exercises for progressive exercise instructions.
# Stage your files
git add tests/student_exercises/yourname_*.robot
# Commit
git commit -m "Add exercises by yourname"
# Push to your fork
git push origin mainA Pull Request (PR) asks the instructor to review and merge your work into the original repository.
- Go to your fork on GitHub
- You should see a banner: "This branch is 1 commit ahead of HackXIt:main"
- Click "Contribute" → "Open pull request"
- Fill in the PR template:
- Describe what your test verifies
- Check the checklist items
- Select which SauceDemo flows you tested
- Click "Create pull request"
- CI runs your tests — GitHub Actions automatically runs all tests including yours
- Results posted — A comment appears on your PR with pass/fail results
- Instructor reviews — The instructor checks your tests and provides feedback
- Merge — Once approved, your tests are merged into the main repository
When you create your first PR from a fork, GitHub Actions requires the repository maintainer (instructor) to approve the workflow run. This is a security feature. The instructor will approve it during the workshop — you don't need to do anything extra.
Make sure you're pushing to your fork, not the original repository. Check your remote:
git remote -vYou should see your username in the URL: https://github.com/YOUR_USERNAME/42vienna-robotframework-workshop.git
If the instructor updated the main repository after you forked:
# Add the original repo as "upstream"
git remote add upstream https://github.com/HackXIt/42vienna-robotframework-workshop.git
# Fetch and merge updates
git fetch upstream
git merge upstream/mainThe template shows automatically when creating a PR to the main repository. If it didn't appear, you can copy the checklist from .github/PULL_REQUEST_TEMPLATE.md.
For first-time contributors from forks, the instructor must approve the workflow run. Raise your hand or ask the instructor to approve it via the Actions tab.
If forking causes issues during the workshop, the instructor can add you as a collaborator:
- Instructor adds you: Provide your GitHub username to the instructor
- Accept the invitation: Check your GitHub notifications or email
- Clone the repo directly:
git clone https://github.com/HackXIt/42vienna-robotframework-workshop.git
- Create a branch:
git checkout -b yourname-exercises
- Work, commit, push, and create a PR from your branch to
main
This skips the fork step but otherwise works the same way.