Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 8a552f7993 | |||
| 93841bc85d | |||
| 9ba8847626 | |||
| 51b7328310 | |||
| fdc352596d | |||
| 89ba5cc985 |
@@ -10,44 +10,22 @@ on:
|
|||||||
- "**"
|
- "**"
|
||||||
|
|
||||||
env:
|
env:
|
||||||
|
GODOT_VERSION: 4.6
|
||||||
GAME_NAME: MovementTests
|
GAME_NAME: MovementTests
|
||||||
ITCHIO_USERNAME: Minimata
|
ITCHIO_USERNAME: Minimata
|
||||||
ITCHIO_GAMEID: MovementTests
|
ITCHIO_GAMEID: MovementTests
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
Export:
|
Export:
|
||||||
runs-on: ubuntu-latest
|
runs-on: godot
|
||||||
env:
|
|
||||||
RUNNER_TOOL_CACHE: /toolcache # Runner Tool Cache
|
|
||||||
steps:
|
steps:
|
||||||
- name: Install node, xvfb and curl
|
- name: Checkout with LFS
|
||||||
run: |
|
uses: https://git.game-dev.space/minimata/checkout-with-lfs.git@main
|
||||||
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
|
- name: Run tests
|
||||||
uses: godot-gdunit-labs/gdUnit4-action@v1
|
uses: godot-gdunit-labs/gdUnit4-action@v1
|
||||||
with:
|
with:
|
||||||
godot-version: '4.6.0'
|
godot-version: ${GODOT_VERSION}
|
||||||
godot-net: true
|
godot-net: true
|
||||||
godot-force-mono: true
|
godot-force-mono: true
|
||||||
dotnet-version: 'net9.0'
|
dotnet-version: 'net9.0'
|
||||||
@@ -56,7 +34,7 @@ jobs:
|
|||||||
timeout: 1
|
timeout: 1
|
||||||
publish-report: false
|
publish-report: false
|
||||||
upload-report: false
|
upload-report: false
|
||||||
|
|
||||||
- name: Upload test report
|
- name: Upload test report
|
||||||
uses: actions/upload-artifact@v3-node20
|
uses: actions/upload-artifact@v3-node20
|
||||||
with:
|
with:
|
||||||
|
|||||||
@@ -43,20 +43,8 @@ jobs:
|
|||||||
# env:
|
# env:
|
||||||
# RUNNER_TOOL_CACHE: /toolcache # Runner Tool Cache
|
# RUNNER_TOOL_CACHE: /toolcache # Runner Tool Cache
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout with LFS
|
||||||
uses: actions/checkout@v4
|
uses: https://git.game-dev.space/minimata/checkout-with-lfs.git@main
|
||||||
with:
|
|
||||||
token: ${{ secrets.TOKEN }}
|
|
||||||
lfs: false
|
|
||||||
persist-credentials: true
|
|
||||||
|
|
||||||
- name: Checkout LFS
|
|
||||||
run: |
|
|
||||||
git lfs install --local
|
|
||||||
AUTH=$(git config http.${{ gitea.server_url }}/.extraheader)
|
|
||||||
git config --local --unset http.${{ github.server_url }}/.extraheader
|
|
||||||
git config --local http.${{ github.server_url }}/${{ github.repository }}.git/info/lfs/objects/batch.extraheader "$AUTH"
|
|
||||||
git lfs pull
|
|
||||||
|
|
||||||
- name: Run tests
|
- name: Run tests
|
||||||
uses: godot-gdunit-labs/gdUnit4-action@v1
|
uses: godot-gdunit-labs/gdUnit4-action@v1
|
||||||
@@ -79,40 +67,50 @@ jobs:
|
|||||||
|
|
||||||
Export:
|
Export:
|
||||||
runs-on: godot
|
runs-on: godot
|
||||||
|
needs:
|
||||||
|
- BumpTag
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout with LFS
|
||||||
uses: actions/checkout@v4
|
uses: https://git.game-dev.space/minimata/checkout-with-lfs.git@main
|
||||||
with:
|
|
||||||
token: ${{ secrets.TOKEN }}
|
|
||||||
lfs: false
|
|
||||||
persist-credentials: true
|
|
||||||
- name: Checkout LFS
|
|
||||||
run: |
|
|
||||||
git lfs install --local
|
|
||||||
AUTH=$(git config http.${{ gitea.server_url }}/.extraheader)
|
|
||||||
git config --local --unset http.${{ github.server_url }}/.extraheader
|
|
||||||
git config --local http.${{ github.server_url }}/${{ github.repository }}.git/info/lfs/objects/batch.extraheader "$AUTH"
|
|
||||||
git lfs pull
|
|
||||||
- name: Setup Godot
|
- name: Setup Godot
|
||||||
id: setup-godot
|
id: setup-godot
|
||||||
uses: https://git.game-dev.space/minimata/setup-godot.git@main
|
uses: https://git.game-dev.space/minimata/setup-godot.git@main
|
||||||
with:
|
with:
|
||||||
godot-version: '4.6'
|
godot-version: '4.6'
|
||||||
dotnet-version: 'net9.0'
|
dotnet-version: 'net9.0'
|
||||||
- name: Import resources and build solution
|
|
||||||
|
- name: Remove GDUnit addon
|
||||||
run: |
|
run: |
|
||||||
${{ steps.setup-godot.outputs.godot_bin }} --headless --editor --build-solutions --quit --import --path $PWD
|
rm -rf ${{ gitea.workspace }}/addons/gdUnit4
|
||||||
|
|
||||||
- name: Build Windows
|
- name: Build Windows
|
||||||
run: |
|
run: |
|
||||||
mkdir -v -p build/windows
|
mkdir -v -p build/windows
|
||||||
${{ steps.setup-godot.outputs.godot_bin }} --headless --verbose --export-release "Windows Desktop" build/windows/${{ env.GAME_NAME }}.exe
|
${{ steps.setup-godot.outputs.godot_bin }} --headless --verbose --export-release "Windows Desktop" build/windows/${{ env.GAME_NAME }}.exe
|
||||||
zip -r Windows.zip build/windows
|
zip -r Windows.zip build/windows
|
||||||
- name: Upload to Itch
|
|
||||||
uses: KikimoraGames/itch-publish@v0.0.3
|
- name: Setup Butler
|
||||||
with:
|
shell: bash
|
||||||
butlerApiKey: ${{ secrets.BUTLER_TOKEN }}
|
env:
|
||||||
itchUsername: ${{ env.ITCHIO_USERNAME }}
|
BUTLER_API_KEY: ${{ secrets.BUTLER_TOKEN }}
|
||||||
itchGameId: ${{ env.ITCHIO_GAMEID }}
|
run: |
|
||||||
buildNumber: 0.1.0 # ${{ needs.BumpTag.outputs.tag_name }}
|
mkdir ./tools 2>/dev/null || true
|
||||||
gameData: Windows.zip
|
pushd tools
|
||||||
buildChannel: windows
|
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}
|
||||||
|
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ on:
|
|||||||
- "**"
|
- "**"
|
||||||
|
|
||||||
env:
|
env:
|
||||||
|
GODOT_VERSION: 4.6
|
||||||
GAME_NAME: MovementTests
|
GAME_NAME: MovementTests
|
||||||
ITCHIO_USERNAME: Minimata
|
ITCHIO_USERNAME: Minimata
|
||||||
ITCHIO_GAMEID: MovementTests
|
ITCHIO_GAMEID: MovementTests
|
||||||
@@ -26,99 +27,90 @@ jobs:
|
|||||||
separator: '/'
|
separator: '/'
|
||||||
|
|
||||||
Release:
|
Release:
|
||||||
runs-on: ubuntu-latest
|
runs-on: godot
|
||||||
if: ${{ contains(gitea.ref_name, 'release/') }}
|
if: ${{ contains(gitea.ref_name, 'release/') }}
|
||||||
needs: ReleaseName
|
needs: ReleaseName
|
||||||
env:
|
|
||||||
RUNNER_TOOL_CACHE: /toolcache # Runner Tool Cache
|
|
||||||
container:
|
|
||||||
image: barichello/godot-ci:mono-4.6
|
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Install node, curl and zip
|
- name: Checkout with LFS
|
||||||
run: |
|
uses: https://git.game-dev.space/minimata/checkout-with-lfs.git@main
|
||||||
apt update && apt -y install curl zip nodejs
|
|
||||||
|
|
||||||
- name: Checkout
|
- name: Setup Godot
|
||||||
uses: actions/checkout@v3
|
id: setup-godot
|
||||||
|
uses: https://git.game-dev.space/minimata/setup-godot.git@main
|
||||||
with:
|
with:
|
||||||
lfs: false
|
godot-version: '4.6'
|
||||||
|
dotnet-version: 'net9.0'
|
||||||
- name: Checkout LFS
|
|
||||||
|
- name: Setup Butler
|
||||||
|
shell: bash
|
||||||
|
env:
|
||||||
|
BUTLER_API_KEY: ${{ secrets.BUTLER_TOKEN }}
|
||||||
run: |
|
run: |
|
||||||
UrlBase=$GITHUB_SERVER_URL; \
|
mkdir ./tools 2>/dev/null || true
|
||||||
UrlLfsBase=$UrlBase/${{ gitea.repository }}.git/info/lfs/objects; \
|
pushd tools
|
||||||
Auth=`/usr/bin/git config --get --local http.$UrlBase/.extraheader`; \
|
curl -sSLfo ./butler.zip "https://broth.itch.zone/butler/linux-amd64/LATEST/archive/default"
|
||||||
/usr/bin/git config --local http.${UrlLfsBase}/batch.extraheader "$Auth"; \
|
unzip butler.zip
|
||||||
/usr/bin/git config --local http.${UrlLfsBase}/.extraheader ''
|
chmod +x ./butler
|
||||||
|
popd
|
||||||
git config --local lfs.transfer.maxretries 1
|
./tools/butler -V
|
||||||
|
|
||||||
/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: Import resources and build solution
|
|
||||||
run: |
|
|
||||||
godot --headless --editor --build-solutions --quit --import --path $PWD
|
|
||||||
|
|
||||||
- name: Build Windows
|
- name: Build Windows
|
||||||
run: |
|
run: |
|
||||||
mkdir -v -p build/windows
|
mkdir -v -p build/windows
|
||||||
godot --headless --verbose --build-solutions --export-release "Windows Desktop" build/windows/${{ env.GAME_NAME }}.exe
|
godot --headless --verbose --build-solutions --export-release "Windows Desktop" build/windows/${{ env.GAME_NAME }}.exe
|
||||||
zip -r Windows.zip build/windows
|
zip -r Windows.zip build/windows
|
||||||
- name: Upload to Itch
|
- name: Upload Windows to itch.io
|
||||||
uses: KikimoraGames/itch-publish@v0.0.3
|
shell: bash
|
||||||
with:
|
env:
|
||||||
butlerApiKey: ${{ secrets.BUTLER_TOKEN }}
|
BUTLER_API_KEY: ${{ secrets.BUTLER_TOKEN }}
|
||||||
itchUsername: ${{ env.ITCHIO_USERNAME }}
|
run: |
|
||||||
itchGameId: ${{ env.ITCHIO_GAMEID }}
|
versionArgument="--userversion ${{ needs.ReleaseName.outputs.release_name }}"
|
||||||
buildNumber: ${{ needs.ReleaseName.outputs.release_name }}
|
./tools/butler push \
|
||||||
gameData: Windows.zip
|
"Windows.zip" \
|
||||||
buildChannel: windows
|
${{ env.ITCHIO_USERNAME }}/${{ env.ITCHIO_GAMEID }}:windows ${versionArgument}
|
||||||
|
|
||||||
- name: Build Windows ARM
|
- name: Build Windows ARM
|
||||||
run: |
|
run: |
|
||||||
mkdir -v -p build/windowsArm
|
mkdir -v -p build/windowsArm
|
||||||
godot --headless --verbose --build-solutions --export-release "Windows ARM" build/windowsArm/${{ env.GAME_NAME }}.exe
|
godot --headless --verbose --build-solutions --export-release "Windows ARM" build/windowsArm/${{ env.GAME_NAME }}.exe
|
||||||
zip -r WindowsArm.zip build/windowsArm
|
zip -r WindowsArm.zip build/windowsArm
|
||||||
- name: Upload to Itch
|
- name: Upload Windows to itch.io
|
||||||
uses: KikimoraGames/itch-publish@v0.0.3
|
shell: bash
|
||||||
with:
|
env:
|
||||||
butlerApiKey: ${{ secrets.BUTLER_TOKEN }}
|
BUTLER_API_KEY: ${{ secrets.BUTLER_TOKEN }}
|
||||||
itchUsername: ${{ env.ITCHIO_USERNAME }}
|
run: |
|
||||||
itchGameId: ${{ env.ITCHIO_GAMEID }}
|
versionArgument="--userversion ${{ needs.ReleaseName.outputs.release_name }}"
|
||||||
buildNumber: ${{ needs.ReleaseName.outputs.release_name }}
|
./tools/butler push \
|
||||||
gameData: WindowsArm.zip
|
"WindowsArm.zip" \
|
||||||
buildChannel: windows-arm
|
${{ env.ITCHIO_USERNAME }}/${{ env.ITCHIO_GAMEID }}:windows-arm ${versionArgument}
|
||||||
|
|
||||||
- name: Linux Build
|
- name: Linux Build
|
||||||
run: |
|
run: |
|
||||||
mkdir -v -p build/linux
|
mkdir -v -p build/linux
|
||||||
godot --headless --verbose --export-release "Linux/X11" build/linux/${{ env.GAME_NAME }}.x86_64
|
godot --headless --verbose --export-release "Linux/X11" build/linux/${{ env.GAME_NAME }}.x86_64
|
||||||
zip -r Linux.zip build/linux
|
zip -r Linux.zip build/linux
|
||||||
- name: Upload to Itch
|
- name: Upload Windows to itch.io
|
||||||
uses: KikimoraGames/itch-publish@v0.0.3
|
shell: bash
|
||||||
with:
|
env:
|
||||||
butlerApiKey: ${{ secrets.BUTLER_TOKEN }}
|
BUTLER_API_KEY: ${{ secrets.BUTLER_TOKEN }}
|
||||||
itchUsername: ${{ env.ITCHIO_USERNAME }}
|
run: |
|
||||||
itchGameId: ${{ env.ITCHIO_GAMEID }}
|
versionArgument="--userversion ${{ needs.ReleaseName.outputs.release_name }}"
|
||||||
buildNumber: ${{ needs.ReleaseName.outputs.release_name }}
|
./tools/butler push \
|
||||||
gameData: Linux.zip
|
"Linux.zip" \
|
||||||
buildChannel: linux
|
${{ env.ITCHIO_USERNAME }}/${{ env.ITCHIO_GAMEID }}:linux ${versionArgument}
|
||||||
|
|
||||||
- name: Mac Build
|
- name: Mac Build
|
||||||
run: |
|
run: |
|
||||||
mkdir -v -p build/mac
|
mkdir -v -p build/mac
|
||||||
godot --headless --verbose --export-release "macOS" build/mac/${{ env.GAME_NAME }}.zip
|
godot --headless --verbose --export-release "macOS" build/mac/${{ env.GAME_NAME }}.zip
|
||||||
zip -r Mac.zip build/mac
|
zip -r Mac.zip build/mac
|
||||||
- name: Upload to Itch
|
- name: Upload Windows to itch.io
|
||||||
uses: KikimoraGames/itch-publish@v0.0.3
|
shell: bash
|
||||||
with:
|
env:
|
||||||
butlerApiKey: ${{ secrets.BUTLER_TOKEN }}
|
BUTLER_API_KEY: ${{ secrets.BUTLER_TOKEN }}
|
||||||
itchUsername: ${{ env.ITCHIO_USERNAME }}
|
run: |
|
||||||
itchGameId: ${{ env.ITCHIO_GAMEID }}
|
versionArgument="--userversion ${{ needs.ReleaseName.outputs.release_name }}"
|
||||||
buildNumber: ${{ needs.ReleaseName.outputs.release_name }}
|
./tools/butler push \
|
||||||
gameData: Mac.zip
|
"Mac.zip" \
|
||||||
buildChannel: mac
|
${{ env.ITCHIO_USERNAME }}/${{ env.ITCHIO_GAMEID }}:mac ${versionArgument}
|
||||||
|
|||||||
Reference in New Issue
Block a user