Files
MovementTests/.gitea/workflows/main.yaml

132 lines
4.0 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: 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
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: ${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
# - 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}