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: - '**' # matches every branch - '!main' # except main - '!release/*' # except release branches tags-ignore: - "**" env: GAME_NAME: MovementTests ITCHIO_USERNAME: Minimata ITCHIO_GAMEID: MovementTests jobs: Export: runs-on: ubuntu-latest steps: - name: Install node, xvfb, curl and zip run: | apt update && apt -y install curl zip nodejs xvfb # - name: Checkout with LFS # uses: https://git.game-dev.space/minimata/checkout-with-lfs.git@main # with: # checkout-version: 3 - name: Checkout uses: actions/checkout@v6 with: lfs: false persist-credentials: true - name: Create LFS file list run: /usr/bin/git lfs ls-files -l | cut -d' ' -f1 | sort > .lfs-assets-id - name: Restore LFS cache uses: actions/cache@v5 id: lfs-cache with: path: .git/lfs key: ${{ runner.os }}-lfs-${{ hashFiles('.lfs-assets-id') }} - 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 # Cache - name: Restore Assets uses: actions/cache@v5 with: path: assets key: Assets-${{ hashFiles('assets/**') }} restore-keys: | Assets- - name: Setup dotnet uses: actions/setup-dotnet@v5 with: dotnet-version: '9.0.x' - name: Launch Godot uses: godot-gdunit-labs/gdUnit4-action@v1 with: godot-version: '4.5.1' godot-net: true version: 'v6.0.3' paths: | res://tests/ timeout: 1 report-name: test_report.xml publish-report: false upload-report: false - name: Upload test report uses: actions/upload-artifact@v3-node20 with: name: Test Report path: test_report.xml - name: Build Windows run: | mkdir -v -p build/windows godot --headless --verbose --build-solutions --export-release "Windows Desktop" build/windows/${{ env.GAME_NAME }}.exe