Why I chose repository_dispatch over a git submodule
2026-07-18 git github-actions ci
I wanted my notes to live in my Obsidian vault but be built by a separate site repo. The obvious answer looked like a git submodule. It was wrong.
A submodule pins one exact commit. So writing a note in Obsidian and pushing the vault would not update the site at all — the site repo still points at the old commit. I would have to open the site repo and bump the pointer every single time I wrote anything.
The fix is repository_dispatch: the vault repo tells the site repo to rebuild, and the
site’s workflow checks out the vault fresh.
curl -X POST \
-H "Authorization: Bearer $TOKEN" \
https://api.github.com/repos/me/til-garden/dispatches \
-d '{"event_type":"vault-updated"}'
Linked from
A static site doesn't need a database 18 Jul