generated from krampus/template-godot4
	
		
			
				
	
	
		
			64 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			64 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| # Based on https://github.com/aBARICHELLO/godot-ci/blob/master/.github/workflows/godot-ci.yml
 | |
| name: itch.io publish action
 | |
| run-name: ${{ gitea.actor }} is publishing ${{ vars.ITCH_GAME }} ${{ gitea.ref_name }} to itch.io.
 | |
| 
 | |
| on:
 | |
|   push:
 | |
|     tags:
 | |
|       - v*
 | |
| 
 | |
| env:
 | |
|   GODOT_VERSION: 4.5
 | |
|   EXPORT_NAME: ${{ vars.ITCH_GAME }}
 | |
|   PROJECT_PATH: .
 | |
| 
 | |
| 
 | |
| jobs:
 | |
|   build:
 | |
|     runs-on: ubuntu-latest
 | |
|     container:
 | |
|       image: barichello/godot-ci:4.5
 | |
|     strategy:
 | |
|       matrix:
 | |
|         include:
 | |
|           - target: linux64
 | |
|             type: x86_64
 | |
|           - target: osx
 | |
|             type: app
 | |
|           - target: win64
 | |
|             type: exe
 | |
|     env:
 | |
|       BUILD_DIR: build/${{ vars.ITCH_GAME }}_${{ gitea.ref_name }}_${{ matrix.target }}
 | |
|     steps:
 | |
|       - name: SSH key installation
 | |
|         run: |
 | |
|           apt-get update
 | |
|           apt-get install -y openssh-client
 | |
|           mkdir -p ~/.ssh/
 | |
|           echo "$SSH_PRIVATE_KEY" > ~/.ssh/id_ecdsa
 | |
|           chmod 600 ~/.ssh/id_ecdsa
 | |
|           echo "$SSH_KNOWN_HOSTS" > ~/.ssh/known_hosts
 | |
|         env:
 | |
|           SSH_PRIVATE_KEY: ${{ secrets.DEPLOY_KEY }}
 | |
|           SSH_KNOWN_HOSTS: ${{ secrets.SSH_KNOWN_HOSTS }}
 | |
|       - name: Checkout repository
 | |
|         run: |
 | |
|           git init
 | |
|           git remote add origin ${{ gitea.event.repository.ssh_url }}
 | |
|           git fetch --depth 1 origin ${{ gitea.ref }}
 | |
|           git checkout FETCH_HEAD
 | |
|           git lfs pull
 | |
|       - name: Reimport assets
 | |
|         run: godot --headless --import
 | |
|       - name: Build project
 | |
|         run: |
 | |
|           echo "building to $BUILD_DIR"
 | |
|           mkdir -p $BUILD_DIR
 | |
|           godot --headless --export-debug ${{ matrix.target }} $BUILD_DIR/${{ vars.ITCH_GAME }}.${{ matrix.type }}
 | |
|       - name: Publish
 | |
|         run: |
 | |
|           echo "pushing $BUILD_DIR"
 | |
|           butler push $BUILD_DIR ${{ vars.ITCH_USER }}/${{ vars.ITCH_GAME }}:${{ matrix.target }} --userversion ${{ gitea.ref_name }}
 | |
|         env:
 | |
|           BUTLER_API_KEY: ${{ secrets.BUTLER_API_KEY }}
 |