GH: Add macOS bundling
This commit is contained in:
parent
da3d4e3762
commit
a195266dde
|
@ -1,18 +1,30 @@
|
||||||
name: 🍎 macOS
|
name: 🍎 macOS
|
||||||
on:
|
on:
|
||||||
workflow_call:
|
workflow_call:
|
||||||
|
inputs:
|
||||||
|
godot_treeish:
|
||||||
|
description: A tag, branch or commit hash in the Godot repository.
|
||||||
|
type: string
|
||||||
|
default: master
|
||||||
|
limboai_treeish:
|
||||||
|
description: A tag, branch or commit hash in the LimboAI repository.
|
||||||
|
type: string
|
||||||
|
default: master
|
||||||
|
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
inputs:
|
||||||
|
godot_treeish:
|
||||||
|
description: A tag, branch or commit hash in the Godot repository.
|
||||||
|
type: string
|
||||||
|
default: master
|
||||||
|
limboai_treeish:
|
||||||
|
description: A tag, branch or commit hash in the LimboAI repository.
|
||||||
|
type: string
|
||||||
|
default: master
|
||||||
|
|
||||||
# push:
|
|
||||||
# branches: [ github-workflows ]
|
|
||||||
|
|
||||||
# Global Settings
|
# Global Settings
|
||||||
env:
|
env:
|
||||||
GODOT_TREEISH: 4.1.1-stable
|
|
||||||
LIMBOAI_TREEISH: master
|
|
||||||
VERSION_STRING: 4.1.1-limboai+dev
|
|
||||||
|
|
||||||
SCONS_CACHE_MSVC_CONFIG: true
|
SCONS_CACHE_MSVC_CONFIG: true
|
||||||
SCONS_CACHE_LIMIT: 4096
|
SCONS_CACHE_LIMIT: 4096
|
||||||
SCONSFLAGS: production=yes tests=no verbose=yes warnings=extra werror=yes module_text_server_fb_enabled=yes
|
SCONSFLAGS: production=yes tests=no verbose=yes warnings=extra werror=yes module_text_server_fb_enabled=yes
|
||||||
|
@ -20,6 +32,7 @@ env:
|
||||||
DOTNET_CLI_TELEMETRY_OPTOUT: true
|
DOTNET_CLI_TELEMETRY_OPTOUT: true
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
|
|
||||||
macos-builds:
|
macos-builds:
|
||||||
runs-on: "macos-latest"
|
runs-on: "macos-latest"
|
||||||
name: ${{ matrix.name }}
|
name: ${{ matrix.name }}
|
||||||
|
@ -64,6 +77,8 @@ jobs:
|
||||||
build-mono: false
|
build-mono: false
|
||||||
artifact-name: macos-templates
|
artifact-name: macos-templates
|
||||||
|
|
||||||
|
# ! Disabled for now: .NET version fail to build
|
||||||
|
|
||||||
# - name: .NET Editor (x86_64, release)
|
# - name: .NET Editor (x86_64, release)
|
||||||
# target: editor
|
# target: editor
|
||||||
# arch: x86_64
|
# arch: x86_64
|
||||||
|
@ -102,29 +117,20 @@ jobs:
|
||||||
|
|
||||||
env:
|
env:
|
||||||
BIN: godot.macos.${{matrix.target}}.${{matrix.arch}}${{ matrix.build-mono == true && '.mono' || '' }}
|
BIN: godot.macos.${{matrix.target}}.${{matrix.arch}}${{ matrix.build-mono == true && '.mono' || '' }}
|
||||||
# BIN2: godot.macos.${{ matrix.target }}.arm64${{ matrix.build-mono == true && '.mono' || '' }}
|
|
||||||
# UNIBIN: godot.macos.${{ matrix.target }}.universal${{ matrix.build-mono == true && '.mono' || '' }}
|
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
|
|
||||||
# ! DELETE_ME:
|
|
||||||
- name: Dump environment
|
|
||||||
env:
|
|
||||||
ENVI: ${{ toJson(env) }}
|
|
||||||
run: |
|
|
||||||
echo "$ENVI"
|
|
||||||
|
|
||||||
# Clone Godot
|
# Clone Godot
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
repository: godotengine/godot
|
repository: godotengine/godot
|
||||||
ref: ${{ env.GODOT_TREEISH }}
|
ref: ${{ inputs.godot_treeish }}
|
||||||
|
|
||||||
# Clone LimboAI module
|
# Clone LimboAI module
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
path: modules/limboai
|
path: modules/limboai
|
||||||
ref: ${{ env.LIMBOAI_TREEISH }}
|
ref: ${{ inputs.limboai_treeish }}
|
||||||
|
|
||||||
# Use python 3.x release (works cross platform)
|
# Use python 3.x release (works cross platform)
|
||||||
- name: Set up Python 3.x
|
- name: Set up Python 3.x
|
||||||
|
@ -156,6 +162,8 @@ jobs:
|
||||||
run: |
|
run: |
|
||||||
scons -j2 platform=macos target=${{matrix.target}} arch=${{matrix.arch}} module_mono_enabled=${{matrix.build-mono}} ${{env.SCONSFLAGS}}
|
scons -j2 platform=macos target=${{matrix.target}} arch=${{matrix.arch}} module_mono_enabled=${{matrix.build-mono}} ${{env.SCONSFLAGS}}
|
||||||
|
|
||||||
|
# ! Disabled for now: .NET version fail to build
|
||||||
|
|
||||||
# - name: Generate C# glue
|
# - name: Generate C# glue
|
||||||
# if: matrix.build-mono && matrix.target == 'editor'
|
# if: matrix.build-mono && matrix.target == 'editor'
|
||||||
# run: |
|
# run: |
|
||||||
|
@ -176,3 +184,74 @@ jobs:
|
||||||
with:
|
with:
|
||||||
name: ${{ matrix.artifact-name }}
|
name: ${{ matrix.artifact-name }}
|
||||||
path: bin/*
|
path: bin/*
|
||||||
|
|
||||||
|
make-macos-bundle:
|
||||||
|
runs-on: "macos-latest"
|
||||||
|
name: Make macOS Bundles
|
||||||
|
needs: macos-builds
|
||||||
|
|
||||||
|
steps:
|
||||||
|
|
||||||
|
# ! REMOVE ME
|
||||||
|
- name: Test
|
||||||
|
run: |
|
||||||
|
ls -l
|
||||||
|
|
||||||
|
- name: Clone Godot
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
repository: godotengine/godot
|
||||||
|
ref: ${{ inputs.godot_treeish }}
|
||||||
|
|
||||||
|
- name: Fetch editor artifact
|
||||||
|
uses: actions/download-artifact@v3
|
||||||
|
with:
|
||||||
|
name: macos-editor
|
||||||
|
path: bin/
|
||||||
|
|
||||||
|
- name: Make editor bundle
|
||||||
|
run: |
|
||||||
|
ls bin/
|
||||||
|
lipo -create bin/godot.macos.editor.x86_64 bin/godot.macos.editor.arm64 -output bin/godot.macos.editor.universal
|
||||||
|
strip bin/godot.macos.editor.universal
|
||||||
|
rm bin/godot.macos.editor.{x86_64,arm64}
|
||||||
|
mkdir -p out/editor/
|
||||||
|
cp -r misc/dist/macos_tools.app out/editor/Godot.app
|
||||||
|
mkdir -p out/editor/Godot.app/Contents/MacOS
|
||||||
|
cp bin/godot.macos.editor.universal out/editor/Godot.app/Contents/MacOS/Godot
|
||||||
|
chmod +x out/editor/Godot.app/Contents/MacOS/Godot
|
||||||
|
|
||||||
|
- name: Upload editor bundle
|
||||||
|
uses: actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: godot.limboai.editor.macos.universal
|
||||||
|
path: out/editor/*
|
||||||
|
|
||||||
|
- name: Fetch templates artifact
|
||||||
|
uses: actions/download-artifact@v3
|
||||||
|
with:
|
||||||
|
name: macos-templates
|
||||||
|
path: bin/
|
||||||
|
|
||||||
|
- name: Make templates bundle
|
||||||
|
run: |
|
||||||
|
ls bin/
|
||||||
|
lipo -create bin/godot.macos.template_release.x86_64 bin/godot.macos.template_release.arm64 -output bin/godot.macos.template_release.universal
|
||||||
|
lipo -create bin/godot.macos.template_debug.x86_64 bin/godot.macos.template_debug.arm64 -output bin/godot.macos.template_debug.universal
|
||||||
|
rm bin/godot.macos.template_{debug,release}.{x86_64,arm64}
|
||||||
|
strip bin/godot.*
|
||||||
|
cp -r misc/dist/macos_template.app macos_template.app
|
||||||
|
mkdir -p macos_template.app/Contents/MacOS
|
||||||
|
cp bin/godot.macos.template_debug.universal macos_template.app/Contents/MacOS/godot_macos_debug.universal
|
||||||
|
cp bin/godot.macos.template_release.universal macos_template.app/Contents/MacOS/godot_macos_release.universal
|
||||||
|
chmod +x macos_template.app/Contents/MacOS/godot_macos_{release,debug}.universal
|
||||||
|
zip -r macos.zip macos_template.app
|
||||||
|
rm bin/*
|
||||||
|
mkdir -p out/templates/
|
||||||
|
mv macos.zip out/templates/macos.zip
|
||||||
|
|
||||||
|
- name: Upload templates bundle
|
||||||
|
uses: actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: godot.limboai.templates.macos.universal
|
||||||
|
path: out/templates/*
|
Loading…
Reference in New Issue