release process - Poobslag/turbofat GitHub Wiki
It would be nice to automate more of this. But, we don't want to waste time automating a process while it's still in flux.
Ensure all Gut tests pass. Most importantly, the backwards compatibility tests for save data, but the other tests are important too.
Apply any community monster updates.
Update the PO templates and message files:
- Run
ReleaseToolkit.tscn
and clickExtract Localizables
- Run
./pybabel-extract.sh
Quit the Godot editor, and run ./generate-export-presets.sh
to update the version number.
Add and push the resulting changes to GitHub with a comment like Update version to 0.4300
.
In the Export Presets Dialog select Export All -> Release
Run the package.sh
script to assemble the export results into artifacts suitable for uploading to GitHub and itch.io.
Navigate to the Turbo Fat releases page and Draft a new release.
Set the fields appropriately:
Field | Value |
---|---|
Tag Version | v?.???? |
Target | main |
Release title | ?.???? |
Description | A few paragraphs about what changed in this release |
Upload the Windows, Linux, Android and HTML5 releases to GitHub.
Announce the release on Discord.
Monthly releases are less frequent and involve some extra steps.
-
Create a development diary for YouTube.
- When uploading the video, make sure to set its keywords:
Godot, Turbo Fat, Gamedev
- Make sure to link to Steam, itch.io, Github and Discord in the video description.
Turbo Fat is an open-source game made with Godot. It is available for free on itch.io and GitHub. Steam: https://store.steampowered.com/app/2213410/Turbo_Fat/ itch.io: https://poobslag.itch.io/turbo-fat GitHub: https://github.com/Poobslag/turbofat Twitter: https://twitter.com/poobslag/ Discord: https://discord.gg/yU6aurT
- Make the video easier to find:
- Add the video to the 'Turbo Fat Development Diary' playlist
- Post Youtube link to Twitter, Discord, Reddit
- When uploading the video, make sure to set its keywords:
-
Test out the HTML5 release locally; Waterfox works OK (Chrome and FireFox can not run HTML5 games locally.)
-
Perform a 'Weekly Release', as described above.
-
Upload the Windows, Linux, Android and HTML5 releases to itch.io.
-
Create an itch.io development log.
-
Update the Steam page describing what you did this month
- Steamworks -> Community & Moderation -> Post/Manage Events & Announcements
- Create a 'news' item
- Create an 800x450 image
- Publish
Announce the release on Discord and Twitter.
This process is still new, and these instructions will change.
- Change to the steam branch, by running
git checkout steam
. - Rebase the steam branch with the main branch, by running
git rebase main
. - Quit the Godot editor, and run
./generate-export-presets.sh
to update the version number. Use a round version number like 'v0.1100'. - Add and force push the resulting changes to GitHub with a comment like
Update version to 0.1100
. - In the Export Presets Dialog select Export All -> Release
- Run the
package.sh
script to assemble the export results into artifacts suitable for uploading to Steam. - extract the
<turbofat-dir>\project\export\windows-steam\turbofat-win-v0.1100.zip
file to<sdk-dir>\tools\ContentBuilder\content\turbofat-win
- rename the
.exe
and.pck
files toturbofat.exe
andturbofat.pck
- extract the
<turbofat-dir>\project\export\linux-x11-steam\turbofat-linux-v0.8500.zip
file to<sdk-dir>\tools\ContentBuilder\content\turbofat-linux
- rename the
.pck
and.x86_64
files toturbofat-linux.pck
andturbofat-linux.x86_64
- Launch SteamWorksGUI, and uploading the resulting build to Steam.
- In SteamWorks, navigate to SteamPipe -> Builds and assign the new builds to a branch.
Milestone releases are less frequent and involve some extra steps.
- Before the release, try out the game on different target platforms.
- Perform a 'Monthly Release', as described above. Use a round version number like 'v0.1100'
- Update the screenshots in the
/img
folder. - Update the screenshots and cover image on Steam and itch.io.
- Back up the code (.zip) and resources to google drive.
- Back up the code and resources to a thumb drive.
- Back up the lore and design docs.
- Spend the following week refactoring.