@@ -126,3 +126,42 @@ jobs:
126126 --uploadFile dist/${{ steps.getfile.outputs.filename }} \
127127 --version ${{ steps.getfile.outputs.version }} \
128128 --releaseNotes "$release_notes"
129+
130+ - name : Check if itch.io variables are set
131+ id : check_itch
132+ run : |
133+ publish=true
134+ if [[ -z "${{ secrets.BUTLER_API_KEY }}" ]]; then
135+ echo "BUTLER_API_KEY is not set. skip itch.io publishing."
136+ publish=false
137+ fi
138+ echo "publish=$publish" >> $GITHUB_OUTPUT
139+
140+ - name : Get Itch.io Page
141+ if : steps.check_itch.outputs.publish == 'true'
142+ id : itchio
143+ run : |
144+ itchioPage=$(grep -oP 'itchioPage:\s?"\K[^"]*' buildconfig.js | cut -d '"' -f 1)
145+ echo "Itch.io Page: $itchioPage"
146+ if [[ -z "$itchioPage" ]]; then
147+ echo "Itch.io Page is not set. skip itch.io publishing."
148+ exit 1
149+ fi
150+
151+ # Extract username and game ID from "username/game-id" format
152+ itchUsername=$(echo "$itchioPage" | cut -d '/' -f 1)
153+ itchGameId=$(echo "$itchioPage" | cut -d '/' -f 2)
154+
155+ echo "username=$itchUsername" >> $GITHUB_OUTPUT
156+ echo "gameId=$itchGameId" >> $GITHUB_OUTPUT
157+
158+ - name : Publish to Itch.io
159+ if : steps.check_itch.outputs.publish == 'true'
160+ uses :
KikimoraGames/[email protected] 161+ with :
162+ butlerApiKey : ${{ secrets.BUTLER_API_KEY }}
163+ gameData : dist/${{ steps.getfile.outputs.filename }}
164+ itchUsername : ${{ steps.itchio.outputs.username }}
165+ itchGameId : ${{ steps.itchio.outputs.gameId }}
166+ buildChannel : c3addon
167+ buildNumber : ${{ steps.getfile.outputs.version }}
0 commit comments