Student Workflow Guide¶
How to set up your environment, write tests, and submit your work.
Step 1: Fork the Repository¶
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.
Step 2: Open a Codespace¶
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.
Verify Your Setup¶
When the terminal appears in your Codespace, run:
You should see: 1 test, 1 passed, 0 failed
If anything fails, run the environment check:
Step 3: Write Your Tests¶
-
Create your exercise file from the template:
Replaceyournamewith 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:
-
Check the results — open
results/log.htmlfor detailed execution logs
See Exercises for progressive exercise instructions.
Step 4: Commit Your Work¶
# 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 main
Step 5: Create a Pull Request¶
A 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"
What happens after you submit?¶
- 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
First-time contributor CI approval¶
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.
Troubleshooting¶
"I can't push to origin"¶
Make sure you're pushing to your fork, not the original repository. Check your remote:
You should see your username in the URL: https://github.com/YOUR_USERNAME/42vienna-robotframework-workshop.git
"My Codespace doesn't have the latest changes"¶
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/main
"The PR template didn't appear"¶
The 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.
"CI didn't run on my PR"¶
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.
Alternative: Collaborator Access (Plan B)¶
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:
- Create a branch:
- Work, commit, push, and create a PR from your branch to
main
This skips the fork step but otherwise works the same way.