Skip to content

Commit

Permalink
[godot] Add C# build to workflow.
Browse files Browse the repository at this point in the history
  • Loading branch information
badlogic committed Jul 21, 2023
1 parent 49e901f commit 8a3182a
Show file tree
Hide file tree
Showing 3 changed files with 96 additions and 24 deletions.
3 changes: 2 additions & 1 deletion .github/workflows/spine-godot-v4-all.yml
@@ -1,4 +1,4 @@
name: Build all Godot 4.x versions
name: Build spine-godot (All Godot 4.x versions)

on:
push:
Expand All @@ -16,6 +16,7 @@ jobs:
[
{"tag": "4.0-stable", "version": "4.0.stable", "mono": false},
{"tag": "4.1-stable", "version": "4.1.stable", "mono": false},
{"tag": "4.1-stable", "version": "4.1.stable", "mono": true},
]
uses: ./.github/workflows/spine-godot-v4.yml
with:
Expand Down
113 changes: 93 additions & 20 deletions .github/workflows/spine-godot-v4.yml
@@ -1,4 +1,4 @@
name: Build and publish Godot 4.x editor and templates
name: Build spine-godot (Godot 4.x)

on:
workflow_call:
Expand All @@ -21,6 +21,7 @@ env:
GODOT_TAG: ${{ inputs.godot_tag }}
GODOT_VERSION: ${{ inputs.godot_version }}
GODOT_MONO: ${{ inputs.godot_mono }}
GODOT_MONO_UPLOAD_SUFFIX: ${{ inputs.godot_mono == true && '-mono' || '' }}

jobs:

Expand All @@ -43,8 +44,8 @@ jobs:
- name: Upload artifacts
uses: actions/upload-artifact@v3
with:
name: godot-editor-windows.zip
path: spine-godot/godot/bin/godot.windows.editor.x86_64.exe
name: ${{ format('{0}{1}.zip', 'godot-editor-windows', env.GODOT_MONO_UPLOAD_SUFFIX) }}
path: spine-godot/godot/bin/**/*

godot-editor-linux:
runs-on: ubuntu-20.04
Expand All @@ -67,8 +68,8 @@ jobs:
- name: Upload artifacts
uses: actions/upload-artifact@v3
with:
name: godot-editor-linux.zip
path: spine-godot/godot/bin/godot.linuxbsd.editor.x86_64
name: ${{ format('{0}{1}.zip', 'godot-editor-linux', env.GODOT_MONO_UPLOAD_SUFFIX) }}
path: spine-godot/godot/bin/**/*

godot-editor-macos:
runs-on: macos-latest
Expand All @@ -93,11 +94,13 @@ jobs:
- name: Upload artifacts
uses: actions/upload-artifact@v3
with:
name: godot-editor-macos.zip
name: ${{ format('{0}{1}.zip', 'godot-editor-macos', env.GODOT_MONO_UPLOAD_SUFFIX) }}
path: spine-godot/godot/bin/godot-editor-macos.zip

godot-template-ios:
runs-on: macos-latest
if: ${{ github.event.inputs.godot_mono == false }}

steps:
- uses: actions/checkout@v3
with:
Expand All @@ -115,7 +118,7 @@ jobs:
- name: Upload artifacts
uses: actions/upload-artifact@v3
with:
name: godot-template-ios.zip
name: ${{ format('{0}{1}.zip', 'godot-template-ios', env.GODOT_MONO_UPLOAD_SUFFIX) }}
path: spine-godot/godot/bin/ios.zip

godot-template-macos:
Expand All @@ -137,7 +140,7 @@ jobs:
- name: Upload artifacts
uses: actions/upload-artifact@v3
with:
name: godot-template-macos.zip
name: ${{ format('{0}{1}.zip', 'godot-template-macos', env.GODOT_MONO_UPLOAD_SUFFIX) }}
path: spine-godot/godot/bin/macos.zip

godot-template-linux:
Expand All @@ -160,14 +163,14 @@ jobs:
- name: Upload artifacts debug
uses: actions/upload-artifact@v3
with:
name: godot-template-linux-debug.zip
path: spine-godot/godot/bin/linux_x11_64_debug
name: ${{ format('{0}{1}.zip', 'godot-template-linux-debug', env.GODOT_MONO_UPLOAD_SUFFIX) }}
path: spine-godot/godot/bin/linux_debug.x86_64

- name: Upload artifacts release
uses: actions/upload-artifact@v3
with:
name: godot-template-linux-release.zip
path: spine-godot/godot/bin/linux_x11_64_release
name: ${{ format('{0}{1}.zip', 'godot-template-linux-release', env.GODOT_MONO_UPLOAD_SUFFIX) }}
path: spine-godot/godot/bin/linux_release.x86_64

godot-template-windows:
runs-on: windows-latest
Expand All @@ -188,17 +191,18 @@ jobs:
- name: Upload artifacts debug
uses: actions/upload-artifact@v3
with:
name: godot-template-windows-debug.zip
name: ${{ format('{0}{1}.zip', 'godot-template-windows-debug', env.GODOT_MONO_UPLOAD_SUFFIX) }}
path: spine-godot/godot/bin/windows_debug_x86_64.exe

- name: Upload artifacts release
uses: actions/upload-artifact@v3
with:
name: godot-template-windows-release.zip
name: ${{ format('{0}{1}.zip', 'godot-template-windows-release', env.GODOT_MONO_UPLOAD_SUFFIX) }}
path: spine-godot/godot/bin/windows_release_x86_64.exe

godot-template-android:
runs-on: ubuntu-20.04
if: ${{ github.event.inputs.godot_mono == false }}
steps:
- uses: actions/checkout@v3
with:
Expand Down Expand Up @@ -228,23 +232,25 @@ jobs:
- name: Upload artifacts debug
uses: actions/upload-artifact@v3
with:
name: godot-template-android-debug.zip
name: ${{ format('{0}{1}.zip', 'godot-template-android-debug', env.GODOT_MONO_UPLOAD_SUFFIX) }}
path: spine-godot/godot/bin/android_debug.apk

- name: Upload artifacts release
uses: actions/upload-artifact@v3
with:
name: godot-template-android-release.zip
name: ${{ format('{0}{1}.zip', 'godot-template-android-release', env.GODOT_MONO_UPLOAD_SUFFIX) }}
path: spine-godot/godot/bin/android_release.apk

- name: Upload artifacts source
uses: actions/upload-artifact@v3
with:
name: godot-template-android-source.zip
name: ${{ format('{0}{1}.zip', 'godot-template-android-source', env.GODOT_MONO_UPLOAD_SUFFIX) }}
path: spine-godot/godot/bin/android_source.zip

godot-template-web:
runs-on: ubuntu-20.04
if: ${{ github.event.inputs.godot_mono == false }}

steps:
- uses: actions/checkout@v3
with:
Expand All @@ -270,18 +276,20 @@ jobs:
- name: Upload artifacts debug
uses: actions/upload-artifact@v3
with:
name: godot-template-web-debug.zip
name: ${{ format('{0}{1}.zip', 'godot-template-web-debug', env.GODOT_MONO_UPLOAD_SUFFIX) }}
path: spine-godot/godot/bin/web_debug.zip

- name: Upload artifacts release
uses: actions/upload-artifact@v3
with:
name: godot-template-web-release.zip
name: ${{ format('{0}{1}.zip', 'godot-template-web-release', env.GODOT_MONO_UPLOAD_SUFFIX) }}
path: spine-godot/godot/bin/web_release.zip

upload-to-s3:
needs: [godot-editor-windows, godot-editor-linux, godot-editor-macos, godot-template-ios, godot-template-macos, godot-template-windows, godot-template-linux, godot-template-android, godot-template-web]
runs-on: ubuntu-latest
if: ${{ github.event.inputs.godot_mono == false }}

steps:
- name: Download godot-editor-windows artifact
uses: actions/download-artifact@v2
Expand Down Expand Up @@ -368,7 +376,72 @@ jobs:
aws s3 cp godot-editor-macos.zip s3://spine-godot/$BRANCH/$GODOT_TAG/
echo "$GODOT_VERSION" > version.txt
ls -lah
zip spine-godot-templates-$BRANCH-$GODOT_TAG.zip ios.zip macos.zip windows_debug_x86_64.exe windows_release_x86_64.exe linux_x11_64_debug linux_x11_64_release web_debug.zip web_release.zip android_release.apk android_debug.apk android_source.zip version.txt
zip spine-godot-templates-$BRANCH-$GODOT_TAG.zip ios.zip macos.zip windows_debug_x86_64.exe windows_release_x86_64.exe linux_debug.x86_64 linux_release.x86_64 web_debug.zip web_release.zip android_release.apk android_debug.apk android_source.zip version.txt
aws s3 cp spine-godot-templates-$BRANCH-$GODOT_TAG.zip s3://spine-godot/$BRANCH/$GODOT_TAG/spine-godot-templates-$BRANCH-$GODOT_TAG.tpz
upload-to-s3-mono:
needs: [godot-editor-windows, godot-editor-linux, godot-editor-macos, godot-template-macos, godot-template-windows, godot-template-linux]
runs-on: ubuntu-latest
if: ${{ github.event.inputs.godot_mono == true }}

steps:
- name: Download godot-editor-windows artifact
uses: actions/download-artifact@v2
with:
name: godot-editor-windows-mono.zip

- name: Download godot-editor-linux artifact
uses: actions/download-artifact@v2
with:
name: godot-editor-linux-mono.zip

- name: Download godot-editor-macos artifact
uses: actions/download-artifact@v2
with:
name: godot-editor-macos-mono.zip

- name: Download godot-template-macos artifact
uses: actions/download-artifact@v2
with:
name: godot-template-macos-mono.zip

- name: Download godot-template-windows-release artifact
uses: actions/download-artifact@v2
with:
name: godot-template-windows-release-mono.zip

- name: Download godot-template-windows-debug artifact
uses: actions/download-artifact@v2
with:
name: godot-template-windows-debug-mono.zip

- name: Download godot-template-linux-release artifact
uses: actions/download-artifact@v2
with:
name: godot-template-linux-release-mono.zip

- name: Download godot-template-linux-debug artifact
uses: actions/download-artifact@v2
with:
name: godot-template-linux-debug-mono.zip

- name: Upload artifacts to S3
shell: bash
if: env.AWS_ACCESS_KEY_ID != null
run: |
BRANCH=${GITHUB_REF#refs/heads/}
echo "branch: $BRANCH"
mv godot.windows.editor.x86_64.mono.exe godot-$BRANCH-$GODOT_TAG-mono.exe
mv godot.linuxbsd.editor.x86_64.mono godot-$BRANCH-$GODOT_TAG-mono
zip godot-editor-windows-mono.zip godot-$BRANCH-$GODOT_TAG-mono.exe GodotSharp
zip godot-editor-linux-mono.zip godot-$BRANCH-$GODOT_TAG-mono GodotSharp
aws s3 cp godot-editor-windows-mono.zip s3://spine-godot/$BRANCH/$GODOT_TAG/
aws s3 cp godot-editor-linux-mono.zip s3://spine-godot/$BRANCH/$GODOT_TAG/
aws s3 cp godot-editor-macos-mono.zip s3://spine-godot/$BRANCH/$GODOT_TAG/
echo "$GODOT_VERSION.mono" > version.txt
ls -lah
zip spine-godot-templates-$BRANCH-$GODOT_TAG-mono.zip macos.zip windows_debug_x86_64.exe windows_release_x86_64.exe linux_debug.x86_64 linux_release.x86_64 version.txt
aws s3 cp spine-godot-templates-$BRANCH-$GODOT_TAG.zip s3://spine-godot/$BRANCH/$GODOT_TAG/spine-godot-templates-$BRANCH-$GODOT_TAG.tpz
4 changes: 1 addition & 3 deletions .github/workflows/spine-godot.yml
@@ -1,5 +1,4 @@
name: Build and Publish Godot 3.5 editor and templates

name: Build spine-godot (Godot 3.5)
on:
push:
paths:
Expand All @@ -17,7 +16,6 @@ env:
GODOT_VERSION: 3.5.2.stable

jobs:

godot-editor-windows:
runs-on: windows-latest
steps:
Expand Down

0 comments on commit 8a3182a

Please sign in to comment.