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.yml37
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