The idea is straightforward: when the code reaches a release branch, the publishing work should begin without asking you to rebuild, rename, and upload every package by hand.
The friction I’m removing
Manual publishing is manageable once. It becomes expensive when you repeat it across platforms and releases. Every extra hand-operated step is another chance to upload the wrong file, forget a platform, or put off shipping a small update.
I built renpy-to-itch to move that repeated work into a workflow you can inspect. Your source repository becomes the place where a release starts, and the automation carries the build from there.
What happens after the push
A push to a configured branch triggers the GitHub workflow. The workflow uses a prepared build environment to produce the supported Windows, macOS, Linux, and web packages, then hands those builds to itch.io.
The repository stores the process alongside the game. That matters because the automation can be reviewed, changed, and reused instead of living as a sequence only one person remembers.
Why branches make a useful release interface
The project maps publishing behavior to branches such as develop, preview, and live. That gives you a small vocabulary for release intent: the same action—pushing code—can route a build toward the appropriate stage.
It also gives the tutorial a clear teaching surface. Rather than introducing a separate release dashboard, I can connect the process to a Git habit you may already understand.
Secrets should stay boring
The workflow needs to know which itch.io project to target and needs an API key that can publish to it. GitHub Actions secrets and variables let the automation use those values without placing the credential in the repository.
I explain that configuration because it is part of the product experience. An automation demo is incomplete if it celebrates the successful run but skips the trust boundary that made the run possible.
Looking back
- I began with repetitive release work game developers already recognized.
- I reduced the automation to a short sequence people could reason about.
- I used familiar Git behavior as the interface for a more complex publishing system.
- I explained credentials and configuration instead of treating them as footnotes.
- I showed the release reaching its real destination on itch.io.
The tutorial shows technical depth across Ren’Py, GitHub Actions, branch strategy, credentials, multi-platform builds, and itch.io publishing. It also shows that I can reduce that system to a sequence a game developer can follow and verify.
The project behind the workflow
The renpy-to-itch repository contains the workflow and setup instructions. I published it under the MIT License so other developers could inspect it and adapt it to their own projects.
This recording is from 2023. Check the repository and the current platform documentation for updated versions and settings before using it in a live release pipeline.