The simplest way to publish your games to Itch.io directly from GitHub!
This GitHub Action automates the entire process of deploying your game to Itch.io by setting up Butler (the official Itch.io command-line tool) and handling the upload process - all with minimal configuration.
- π€ Automatic Butler Setup - No need to install or configure anything manually
- οΈπ₯οΈ Cross-Platform Support - Works on Windows, macOS, and Linux runners
- οΈπ·οΈ Version Tagging - Optionally tag your releases with version numbers
- π Secure - Uses GitHub Secrets for API key protection
Add this to your workflow file:
- uses: Oval-Tutu/publish-to-itch-with-butler@v1
with:
api-key: ${{ secrets.BUTLER_API_KEY }}
itch_user: your-itch-username
itch_game: your-game-name
channel: windows
package: ./build/windows/
version: 1.0.0
Parameter | Description | Required | Default |
---|---|---|---|
api-key |
Butler API key from Itch.io | β | - |
channel |
Channel name (e.g., android, html, linux, osx, windows) | β | - |
itch_user |
Your Itch.io username | β | - |
itch_game |
Your game's name on Itch.io | β | - |
package |
Directory or file to upload | β | - |
version |
Game version (will be shown on Itch.io) | β | "" |
- Log in to itch.io
- Navigate to your API keys
- Generate a new API key
- Add it to your repository secrets as
BUTLER_API_KEY
name: Deploy Game
on:
release:
types: [published]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
# Build your game...
- uses: Oval-Tutu/publish-to-itch-with-butler@v1
with:
api-key: ${{ secrets.BUTLER_API_KEY }}
itch_user: awesome-dev
itch_game: awesome-game
channel: windows
package: ./build/
version: ${{ github.event.release.tag_name }}
Only the x64 64-bit architecture is supported for Windows and Linux because Butler does provide builds for other architectures.
- π§ Linux
- π macOS
- πͺ Windows
Get your games to your players faster than ever with automated Itch.io publishing!