This action installs Butler and uses it to push assets to itch.io
Your Butler key should be saved as a secret.
This example pushes 5 files to Itch, each in a dedicated channel.
# We have the following files in ./build:
# release-linux.tar.gz, release-windows.zip,
# release-mac.zip, java-release.apk
- uses: Ayowel/butler-to-itch@v1
with:
butler_key: ${{ secrets.BUTLER_CREDENTIALS }}
itch_user: Ayowel
itch_game: renpy-extensions-demo
version: ${{ github.ref_name }}
files: |
build/release-*
doc docs/html
mobile build/java-*
Generic parameters:
Parameter | Description | Default |
---|---|---|
action | Whether to install Butler or to push a file. |
'push' |
install_dir | Install Butler to a custom location. | ~/.butler |
butler_source | Where Butler should be download from. | 'https://broth.itch.ovh/butler' |
Push parameters:
Parameter | Description | Default |
---|---|---|
butler_key | Your butler key (see https://itch.io/user/settings/api-keys). | "" |
itch_user | The itch username of the user that distributes the game. | "" |
itch_game | The name of the game in the project's url. | "" |
version | The game's version number. | "" |
files | The files to push to itch. File paths support globing and may start with a channel name. | "" |
auto_channel | If no channel is provided for a file, generate one from the file's name (see "Behavior of auto_channel" below). | true |
Install parameters:
Parameter | Description | Default |
---|---|---|
check_signature | Whether to verify the downloaded Butler archive's signature. | true |
update_path | Whether to update the PATH variable to include Butler's install directory. | false |
butler_version | Which Butler version to install. | 'latest' |
Output name | Description |
---|---|
install_dir |
Path to Butler's install directory |
auto_channel
parses the file name to build a channel string.
Channel | Matched strings |
---|---|
doc | doc , docs , documentation |
web | web , html , html5 |
android | android , mobile |
linux | linux , unix , gnu |
mac | mac , macintosh , macos , macosx , osx |
windows | win , windows , xp |
x32 | x32 |
x64 | x64 |
- If more than one channel string matches, the resulting channel is all maches separated by a "
-
". - String matching is case-insensitive
- Strings match only if the string is delimited by
.
,_
,-
, or the start of the filename.
Channel names in the files
input field may only contain lowercase alphanumerical characters and hyphens, or they won't be recognized as such.