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: # 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: ubuntu-latest # env: # RUNNER_TOOL_CACHE: /toolcache # Runner Tool Cache # steps: # - name: Install node, xvfb and curl # run: | # apt update && apt -y install curl nodejs xvfb # # - name: Checkout # uses: actions/checkout@v3 # with: # lfs: false # # - name: Checkout LFS # run: | # UrlBase=$GITHUB_SERVER_URL; \ # UrlLfsBase=$UrlBase/${{ gitea.repository }}.git/info/lfs/objects; \ # Auth=`/usr/bin/git config --get --local http.$UrlBase/.extraheader`; \ # /usr/bin/git config --local http.${UrlLfsBase}/batch.extraheader "$Auth"; \ # /usr/bin/git config --local http.${UrlLfsBase}/.extraheader '' # # git config --local lfs.transfer.maxretries 1 # # /usr/bin/git lfs fetch origin refs/remotes/origin/${{ gitea.ref_name }} # /usr/bin/git lfs checkout # /usr/bin/git add . # /usr/bin/git reset --hard # # - 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@v3-node20 # with: # name: Test Report # path: ${{ github.workspace }}/reports/test-result.html Export: runs-on: ubuntu-latest env: RUNNER_TOOL_CACHE: /toolcache # Runner Tool Cache # needs: # - BumpTag # - Test # Wait for tests to finish container: image: barichello/godot-ci:mono-4.6 steps: - name: Install node, curl and zip run: | apt update && apt -y install curl zip nodejs - name: Checkout uses: actions/checkout@v3 with: lfs: false - name: Checkout LFS run: | UrlBase=$GITHUB_SERVER_URL; \ UrlLfsBase=$UrlBase/${{ gitea.repository }}.git/info/lfs/objects; \ Auth=`/usr/bin/git config --get --local http.$UrlBase/.extraheader`; \ /usr/bin/git config --local http.${UrlLfsBase}/batch.extraheader "$Auth"; \ /usr/bin/git config --local http.${UrlLfsBase}/.extraheader '' git config --local lfs.transfer.maxretries 1 /usr/bin/git lfs fetch origin refs/remotes/origin/${{ gitea.ref_name }} /usr/bin/git lfs checkout /usr/bin/git add . /usr/bin/git reset --hard # - name: Checkout # uses: actions/checkout@v6 # with: # lfs: false # persist-credentials: true # # - name: Checkout LFS # run: | # git lfs install --local # AUTH=$(git config http.${{ gitea.server_url }}/.extraheader) # AUTH_FILE=$(git config includeif.gitdir:/workspace/${{ gitea.repository }}/.git.path) # git config -f $AUTH_FILE --unset http.${{ gitea.server_url }}/.extraheader # git config -f $AUTH_FILE http.${{ gitea.server_url }}/${{ gitea.repository }}.git/info/lfs/objects/batch.extraheader "$AUTH" # git lfs pull - name: Remove GDUnit addon folder because it breaks the build run: | rm -rf ${{ gitea.workspace }}/addons - name: Import resources and build solution run: | godot --headless --editor --build-solutions --quit --import --path $PWD - name: Build Windows run: | mkdir -v -p build/windows godot --headless --verbose --export-release "Windows Desktop" build/windows/${{ env.GAME_NAME }}.exe zip -r Windows.zip build/windows # - 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: ${{ needs.BumpTag.outputs.tag_name }} # gameData: Windows.zip # buildChannel: windows