Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Presenter Guide

For whoever runs the workshop. The format is live hands-on: you do every step on screen, explaining as you go, and the students do the same in their own accounts. The lab pages hold every command, so a student who misses something can always catch up from them.

Run sheet

The slide numbers are the ones shown at the bottom right of the slides.

ClockSlidesLabWhat happens
0:001–6SetupWelcome, share the materials link. Why version control, Git vs GitHub. ✅ git --version
0:107–9Commits, the three areas
0:14101.1–1.4git init, first commit, .gitignore, publish on GitHub. ✅ repository link in the chat
0:2611–141.5–1.6The daily loop, GitHub flow, tour of a pull request, first PR merged
0:3815–171.7Merge conflict, on purpose. ✅ two merged PRs. Recap
0:4518–22Issues, labels, milestones, projects, closing keywords
0:50232.1–2.44 issues, a label, milestone v1.0, board, bug fixed by a PR. ✅ milestone 25%
1:1024–27CI and CD, Actions vocabulary, anatomy of a workflow
1:15283.1–3.2First workflow, then the branch ruleset, then merge
1:2529–303.3Test-first: red, then green. ✅ milestone 75%
1:3231–333.4Docker, the Dockerfile, build and run locally
1:3834–363.5–3.6The publish job, merge, tag v1.0.0, release, public package. ✅ final checkpoint
1:5037–41Wrap-upWhat they built, quiz, challenges, questions

Before the day

One week before

Rehearse once, end to end, with the account you will present with. Alone, it takes about 70 minutes. Then delete everything, so that the live run starts from zero, exactly like the students:

On the day, 30 minutes before

While presenting

Running late? What to cut

PartCut firstThen
1Step 1.5: the branch workflow in 1.6 uses the same commandsDo 1.7 (conflict) yourself only; students do it after the workshop
2The Table view and custom fieldsCreate only the bug and feature issues live, and the two others as you reach them in Part 3
3The local Docker build (3.4): the pipeline builds the image anywayMake your package public and run your image; students finish 3.6 at home
Wrap-upThe quiz: it is on the Wrap-up page

Ahead of time? What to add

Common problems

SymptomCauseFix
git push asks for a password, then failsGitHub refuses passwords on the command linegh auth login (setup, step 4); on Windows, the Git Credential Manager window
remote: Permission ... denied (403)Git is signed in as another GitHub accountgh auth login again; on Windows, remove the git:https://github.com entry in the Credential Manager
fatal: not a git repositoryThe terminal is in the wrong foldercd into calc-app; ls -a must show .github, app, tests
ls -a shows only another calc-app folderThe zip was extracted into a folder of the same namecd calc-app once more
error: src refspec main does not match anyNothing committed yet, or the branch is called masterCommit first; git branch -M main
! [rejected] ... (fetch first)GitHub has commits the student doesn’t havegit pull, then git push
A strange editor fills the terminalvim, opened by a commit or merge without -mType :wq then Enter; set core.editor (setup, step 3)
LF will be replaced by CRLF (Windows)Line-ending conversionHarmless, ignore it
The workflow never startsThe file is not at .github/workflows/*.yml, at the rootgit ls-files .github
test is not offered in the rulesetThe check has never runPush the branch, wait for the run, add the rule again
publish fails: permission_denied: write_packageA calc-app package left from an earlier attempt, or no permissions: blockDelete the old package, or grant the repository Write in its settings
docker: command not found, or “daemon not running”Docker Desktop not installed, or not startedStart Docker Desktop, or use a Codespace
port is already allocatedPort 8000 is used by something elsedocker run --rm -p 8080:8000 calc-app and open port 8080

After the workshop

Maintaining these materials