Files
MovementTests/.gitea/workflows/main.yaml
Minimata ce48f3b9d7
Some checks failed
Create tag and build when new code gets to main / BumpTag (push) Successful in 1m21s
Create tag and build when new code gets to main / OtherTest (push) Failing after 1m32s
Create tag and build when new code gets to main / Export (push) Successful in 6m53s
Create tag and build when new code gets to main / Test (push) Failing after 8m42s
fixed indent issue
2026-04-24 19:07:20 +02:00

198 lines
6.1 KiB
YAML

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
DOTNET_VERSION: 'net9.0'
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: Setup Godot
id: setup-godot
uses: https://git.game-dev.space/minimata/setup-godot.git@main
with:
godot-version: ${GODOT_VERSION}
dotnet-version: ${DOTNET_VERSION}
- name: 🔬 Verify Setup
run: |
dotnet --version
${{ steps.setup-godot.outputs.godot_bin }} --version
- name: 🧑‍🔬 Generate .NET Bindings
run: ${{ steps.setup-godot.outputs.godot_bin }} --headless --build-solutions --quit || exit 0
- name: Run C# Tests
env:
GODOT_BIN: ${{ steps.setup-godot.outputs.godot_bin }}
shell: bash
run: |
dotnet test --no-build --settings .runsettings --results-directory ./reports --logger "console;verbosity=normal" --logger "trx;LogFileName=results.xml" -- GdUnit4.Parameters="--verbose --headless --import"
# - name: Run tests
# uses: godot-gdunit-labs/gdUnit4-action@v1
# with:
# godot-version: ${GODOT_VERSION}
# godot-net: true
# godot-force-mono: true
# dotnet-version: ${DOTNET_VERSION}
# paths: |
# res://tests/
# publish-report: false
# upload-report: false
# console-verbosity: 'normal'
# arguments: "--verbose --headless --import"
- name: Upload test report
uses: actions/upload-artifact@v3-node20
with:
name: Test Report
path: ${{ github.workspace }}/reports/test-result.html
OtherTest:
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
- uses: actions/setup-dotnet@v5
name: 💽 Setup .NET SDK
with:
dotnet-version: ${DOTNET_VERSION}
- name: 📦 Restore Dependencies
run: |
dotnet --version
dotnet restore
dotnet build
dotnet list package
- uses: chickensoft-games/setup-godot@v2
name: 🤖 Setup Godot
with:
# Version must include major, minor, and patch, and be >= 4.0.0
# Pre-release label is optional.
version: ${GODOT_VERSION}
# Use .NET-enabled version of Godot (the default is also true).
use-dotnet: true
# Include the Godot Export Templates (the default is false).
include-templates: true
- name: 🔬 Verify Setup
run: |
dotnet --version
godot --version
- name: 🧑‍🔬 Generate .NET Bindings
run: godot --headless --build-solutions --quit || exit 0
- name: 🦺 Build Projects
run: dotnet build --configuration Release
- name: Run C# Tests
env:
GODOT_BIN: godot
shell: bash
run: |
dotnet test --no-build --settings .runsettings --results-directory ./reports --logger "console;verbosity=normal" --logger "trx;LogFileName=results.xml" -- GdUnit4.Parameters="--verbose --headless --import"
- name: Upload test report
uses: actions/upload-artifact@v3-node20
with:
name: Test Report
path: ${{ github.workspace }}/reports/test-result.html
Export:
runs-on: godot
env:
RUNNER_TOOL_CACHE: /toolcache # Runner Tool Cache
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: ${GODOT_VERSION}
dotnet-version: ${DOTNET_VERSION}
- 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
ls -la build/windows
# - name: Setup Butler
# shell: bash
# env:
# BUTLER_API_KEY: ${{ secrets.BUTLER_TOKEN }}
# run: |
# mkdir ./tools 2>/dev/null || true
# pushd tools
# curl -sSLfo ./butler.zip "https://broth.itch.zone/butler/linux-amd64/LATEST/archive/default"
# unzip butler.zip
# chmod +x ./butler
# popd
# ./tools/butler -V
#
# - name: Upload to itch.io
# shell: bash
# env:
# BUTLER_API_KEY: ${{ secrets.BUTLER_TOKEN }}
# run: |
# versionArgument="--userversion ${{ needs.BumpTag.outputs.tag_name }}"
# ./tools/butler push \
# "Windows.zip" \
# ${{ env.ITCHIO_USERNAME }}/${{ env.ITCHIO_GAMEID }}:windows ${versionArgument}