name: Create tag and build when new code gets to main run-name: Create tag and build when new code gets to main on: push: branches: - main tags-ignore: - "**" env: GODOT_VERSION: 4.6 GAME_NAME: MovementTests ITCHIO_USERNAME: Minimata ITCHIO_GAMEID: MovementTests jobs: BumpTag: runs-on: ubuntu-latest outputs: tag_name: ${{ steps.bump-tag.outputs.new_tag }} steps: - name: Check out repository code uses: actions/checkout@v4 with: token: ${{ secrets.TOKEN }} lfs: false - name: Remove buggy pre-push hook run: | rm -f .git/hooks/pre-push - name: Bump version and push tag id: bump-tag uses: anothrNick/github-tag-action@v1 env: GITHUB_TOKEN: ${{ secrets.TOKEN }} GIT_API_TAGGING: false WITH_V: true PRERELEASE: false INITIAL_VERSION: 0.1.0 DEFAULT_BUMP: patch Test: runs-on: godot # env: # RUNNER_TOOL_CACHE: /toolcache # Runner Tool Cache steps: - name: Checkout with LFS uses: https://git.game-dev.space/minimata/checkout-with-lfs.git@main - name: Run tests uses: godot-gdunit-labs/gdUnit4-action@v1 with: godot-version: ${GODOT_VERSION} godot-net: true godot-force-mono: true dotnet-version: 'net9.0' paths: | res://tests/ timeout: 1 publish-report: false upload-report: false - name: Upload test report uses: actions/upload-artifact@v6 with: name: Test Report path: ${{ github.workspace }}/reports/test-result.html Export: runs-on: godot needs: - BumpTag steps: - name: Checkout with LFS uses: https://git.game-dev.space/minimata/checkout-with-lfs.git@main - name: Setup Godot id: setup-godot uses: https://git.game-dev.space/minimata/setup-godot.git@main with: godot-version: '4.6' dotnet-version: 'net9.0' - name: Remove GDUnit addon run: | rm -rf ${{ gitea.workspace }}/addons/gdUnit4 - name: Build Windows run: | mkdir -v -p build/windows ${{ steps.setup-godot.outputs.godot_bin }} --headless --verbose --export-release "Windows Desktop" build/windows/${{ env.GAME_NAME }}.exe zip -r Windows.zip build/windows ls -la pwd echo ${{ github.workspace }} - uses: Oval-Tutu/publish-to-itch-with-butler@v1 with: api-key: ${{ secrets.BUTLER_TOKEN }} itch_user: ${{ env.ITCHIO_USERNAME }} itch_game: ${{ env.ITCHIO_GAMEID }} channel: windows package: Windows.zip version: ${{ needs.BumpTag.outputs.tag_name }} # - name: Upload to Itch # uses: KikimoraGames/itch-publish@v0.0.3 # with: # butlerApiKey: ${{ secrets.BUTLER_TOKEN }} # itchUsername: ${{ env.ITCHIO_USERNAME }} # itchGameId: ${{ env.ITCHIO_GAMEID }} # buildNumber: 0.1.0 # ${{ needs.BumpTag.outputs.tag_name }} # gameData: ${{ github.workspace }}/Windows.zip # buildChannel: windows