For Devs: Multi-channel Butler Script


The Ruby script is butload.rb on my GitHub Gist page.

For the latest version of EkoScape (v2.1), I switched to using itch.io’s butler CLI tool for publishing my games.

For developers, this means a smaller upload size for new versions. For users of the itch app, this means a smaller download size for new versions.

(It also allows developers to include a pretty cool manifest file for specifying other actions for users.)

Unfortunately, working with multiple channels/builds can be kind of tedious. I think most developers make their own internal script for this.

I decided to modify mine to make it generic and share it with the community.

You’ll need Ruby installed. After that, modify the constant USER_GAME (username/game_name) and the array ARTIFACTS at the top of the file appropriately.

Example usage:

# Use `-n` to only perform a dry-run.
# Use `-c <channel>` to filter which channels to use
# (fuzzy search).
# - You can specify `-c <channel>` multiple times.

# Validate all folders for itch.io.
./butload.rb -v

# Validate the folder of channel macOS
# (contains "mac") for itch.io.
./butload.rb -v -c mac

# Do a dry-run of pushing all folders to itch.io.
./butload.rb -p -n

# Push all folders to itch.io.
./butload.rb -p

# Push the folders of channels Linux & Windows to itch.io
./butload.rb -p -c lin -c win

# Check status of all builds on itch.io.
./butload.rb -s

# Check status of Linux & macOS builds on itch.io.
./butload.rb -s -c lin -c mac

Get EkoScape

Download NowName your own price

Comments

Log in with itch.io to leave a comment.

(+1)

Interesting , keep it up!