tools for exporting godot projects via Github Actions
Diffstat (limited to '.github/actions/itch-push/action.yml')
| -rw-r--r-- | .github/actions/itch-push/action.yml | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/.github/actions/itch-push/action.yml b/.github/actions/itch-push/action.yml new file mode 100644 index 0000000..4b84f0e --- /dev/null +++ b/.github/actions/itch-push/action.yml @@ -0,0 +1,37 @@ +name: Push to itch.io +description: Push the created artifacts to itch.io + +inputs: + api-key: + description: The API key for the itch.io account + required: true + itch-path: + description: "The path to the itch.io project eg: leafo/x-moon" + required: false + default: "" + +runs: + using: composite + steps: + - name: Download + uses: actions/download-artifact@v3 + + - name: Setup butler + uses: jdno/setup-butler@v1 + + - name: Push + run: | + [[ -z $ITCH_PATH ]] && ITCH_PATH=bendn/$NAME + function push() { + channel=$1 + [[ $channel == mac ]] && echo -e "#!/bin/bash\n"'cd "$(dirname "$0")"||exit;xattr -cr "$(pwd)/$NAME.app";open -n -a "$(pwd)/$NAME.app"' >./mac/run.sh + chmod +x **; to_push="$channel" + [[ $(find $channel -type f | wc -l) -eq 1 && $channel != "android" ]] && to_push="$(echo $(basename $channel/*) .7z | tr -d " ")" && (cd "$channel" && 7z a -mtm=off -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on "../$to_push" ./*) + butler push "$to_push" "$ITCH_PATH:$channel" + } + push "web"; push "linux"; push "windows"; unzip "mac/$NAME.zip" -d mac/ && rm "mac/$NAME.zip" && push "mac" + [[ -d android ]] && rm android/*.idsig && push "android" + env: + BUTLER_API_KEY: ${{ inputs.api-key }} + ITCH_PATH: ${{ inputs.itch-path }} + shell: bash |