Compare commits

...

3 Commits

Author SHA1 Message Date
Serhii Snitsaruk abe9a26460
GHA: Add Linux ARM32 template builds 2024-07-31 12:45:12 +02:00
Serhii Snitsaruk 2c58cfc3cb
GHA: Don't strip binaries, done at build time 2024-07-31 12:45:02 +02:00
Serhii Snitsaruk afc2b63f06
GHA: Disable Editor .NET ARM64 2024-07-31 10:43:56 +02:00
5 changed files with 40 additions and 31 deletions

View File

@ -17,6 +17,8 @@ runs:
TOOLCHAIN_32_SHA=6171652abc54ef219e5187bc53660ee4e2f796f4 TOOLCHAIN_32_SHA=6171652abc54ef219e5187bc53660ee4e2f796f4
TOOLCHAIN_ARM64_URL=https://github.com/godotengine/buildroot/releases/download/godot-2023.08.x-3/aarch64-godot-linux-gnu_sdk-buildroot.tar.bz2 TOOLCHAIN_ARM64_URL=https://github.com/godotengine/buildroot/releases/download/godot-2023.08.x-3/aarch64-godot-linux-gnu_sdk-buildroot.tar.bz2
TOOLCHAIN_ARM64_SHA=73bed3d26b92c8b9a93c0ceb6bcce8fe567d1764 TOOLCHAIN_ARM64_SHA=73bed3d26b92c8b9a93c0ceb6bcce8fe567d1764
TOOLCHAIN_ARM32_URL=https://github.com/godotengine/buildroot/releases/download/godot-2023.08.x-3/arm-godot-linux-gnueabihf_sdk-buildroot.tar.bz2
TOOLCHAIN_ARM32_SHA=aa5853fd73faec3837c6127649471275d7e61cb2
# ! Export variables: # ! Export variables:
if [[ "${{ inputs.arch }}" == "x86_64" ]]; then if [[ "${{ inputs.arch }}" == "x86_64" ]]; then
@ -28,6 +30,9 @@ runs:
elif [[ "${{ inputs.arch }}" == "arm64" ]]; then elif [[ "${{ inputs.arch }}" == "arm64" ]]; then
echo "TOOLCHAIN_URL=${TOOLCHAIN_ARM64_URL}" >> "$GITHUB_ENV" echo "TOOLCHAIN_URL=${TOOLCHAIN_ARM64_URL}" >> "$GITHUB_ENV"
echo "TOOLCHAIN_SHA=${TOOLCHAIN_ARM64_SHA}" >> "$GITHUB_ENV" echo "TOOLCHAIN_SHA=${TOOLCHAIN_ARM64_SHA}" >> "$GITHUB_ENV"
elif [[ "${{ inputs.arch }}" == "arm32" ]]; then
echo "TOOLCHAIN_URL=${TOOLCHAIN_ARM32_URL}" >> "$GITHUB_ENV"
echo "TOOLCHAIN_SHA=${TOOLCHAIN_ARM32_SHA}" >> "$GITHUB_ENV"
fi fi
- name: Cache buildroot - name: Cache buildroot

View File

@ -287,19 +287,6 @@ jobs:
echo "---" echo "---"
ls -R out/ ls -R out/
- name: Strip lib
if: matrix.opts.platform != 'windows' && matrix.opts.platform != 'web' && (matrix.opts.platform != 'android' || startsWith(matrix.opts.arch, 'x86'))
run: |
ls -l -R out/addons/limboai/bin/
echo "---"
if [ "$RUNNER_OS" == "macOS" ]; then
strip -u out/addons/limboai/bin/liblimboai*/liblimboai*
else
strip out/addons/limboai/bin/liblimboai*
fi
echo "---"
ls -l -R out/addons/limboai/bin/
- name: Upload artifact - name: Upload artifact
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v4
env: env:

View File

@ -170,9 +170,6 @@ jobs:
cp -r misc/dist/ios_xcode bin/ cp -r misc/dist/ios_xcode bin/
cd bin/ cd bin/
# --- Note: Doesn't look like libs need stripping ---
# strip *.a
mv libgodot.ios.template_debug.arm64.a ios_xcode/libgodot.ios.debug.xcframework/ios-arm64/libgodot.a mv libgodot.ios.template_debug.arm64.a ios_xcode/libgodot.ios.debug.xcframework/ios-arm64/libgodot.a
# ! lipo -create libgodot.ios.template_debug.arm64.simulator.a libgodot.ios.template_debug.x86_64.simulator.a -output ios_xcode/libgodot.ios.debug.xcframework/ios-arm64_x86_64-simulator/libgodot.a # ! lipo -create libgodot.ios.template_debug.arm64.simulator.a libgodot.ios.template_debug.x86_64.simulator.a -output ios_xcode/libgodot.ios.debug.xcframework/ios-arm64_x86_64-simulator/libgodot.a
mv libgodot.ios.template_debug.x86_64.simulator.a ios_xcode/libgodot.ios.debug.xcframework/ios-arm64_x86_64-simulator/libgodot.a mv libgodot.ios.template_debug.x86_64.simulator.a ios_xcode/libgodot.ios.debug.xcframework/ios-arm64_x86_64-simulator/libgodot.a

View File

@ -105,6 +105,20 @@ jobs:
dotnet: false dotnet: false
should-build: ${{ !inputs.test-build }} should-build: ${{ !inputs.test-build }}
# * Standard arm32
- name: Template (arm32, release)
target: template_release
arch: arm32
dotnet: false
should-build: ${{ !inputs.test-build }}
- name: Template (arm32, debug)
target: template_debug
arch: arm32
dotnet: false
should-build: ${{ !inputs.test-build }}
# * .NET x86_64 # * .NET x86_64
- name: Editor .NET (x86_64, release) - name: Editor .NET (x86_64, release)
@ -147,11 +161,13 @@ jobs:
# * .NET arm64 # * .NET arm64
- name: Editor .NET (arm64, release) # ! FIXME: Needs a separate job for .NET glue generation since we can't execute arm64 binaries on x86_64.
target: editor # ! Alternatively, solution generation can be done as post-process job, taking the glue from x86_64, after all builds complete.
arch: arm64 # - name: Editor .NET (arm64, release)
dotnet: true # target: editor
should-build: ${{ !inputs.test-build }} # arch: arm64
# dotnet: true
# should-build: ${{ !inputs.test-build }}
- name: Template .NET (arm64, release) - name: Template .NET (arm64, release)
target: template_release target: template_release
@ -165,6 +181,20 @@ jobs:
dotnet: true dotnet: true
should-build: ${{ !inputs.test-build }} should-build: ${{ !inputs.test-build }}
# * .NET arm32
- name: Template .NET (arm32, release)
target: template_release
arch: arm32
dotnet: true
should-build: ${{ !inputs.test-build }}
- name: Template .NET (arm32, debug)
target: template_debug
arch: arm32
dotnet: true
should-build: ${{ !inputs.test-build }}
exclude: exclude:
- { opts: { should-build: false } } - { opts: { should-build: false } }
@ -231,11 +261,6 @@ jobs:
env: env:
OUTDIR: ${{ startsWith(matrix.opts.target, 'template') && 'out/templates' || 'out/' }} OUTDIR: ${{ startsWith(matrix.opts.target, 'template') && 'out/templates' || 'out/' }}
run: | run: |
if [ "${{matrix.opts.arch}}" == "arm64" ]; then
${GITHUB_WORKSPACE}/buildroot/bin/aarch64-godot-linux-gnu-strip ./bin/godot.*
else
strip ./bin/godot.*
fi
chmod +x ./bin/godot.* chmod +x ./bin/godot.*
mkdir -p ${{env.OUTDIR}} mkdir -p ${{env.OUTDIR}}
mv bin/* ${{env.OUTDIR}} mv bin/* ${{env.OUTDIR}}

View File

@ -199,7 +199,6 @@ jobs:
- name: Prepare artifact - name: Prepare artifact
run: | run: |
strip bin/godot.*
chmod +x bin/godot.* chmod +x bin/godot.*
- name: Upload artifact - name: Upload artifact
@ -257,9 +256,6 @@ jobs:
run: | run: |
ls bin/ ls bin/
lipo -create bin/godot.macos.editor.x86_64* bin/godot.macos.editor.arm64* -output bin/godot.macos.editor.universal lipo -create bin/godot.macos.editor.x86_64* bin/godot.macos.editor.arm64* -output bin/godot.macos.editor.universal
du -sh bin/
strip bin/godot.macos.editor.universal
du -sh bin/
mkdir -p out/editor/ mkdir -p out/editor/
cp -r misc/dist/macos_tools.app out/editor/${APP_NAME} cp -r misc/dist/macos_tools.app out/editor/${APP_NAME}
mkdir -p out/editor/${APP_NAME}/Contents/{MacOS,Resources} mkdir -p out/editor/${APP_NAME}/Contents/{MacOS,Resources}
@ -295,7 +291,6 @@ jobs:
ls bin/ 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_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 lipo -create bin/godot.macos.template_debug.x86_64* bin/godot.macos.template_debug.arm64* -output bin/godot.macos.template_debug.universal
strip bin/godot.*.universal
cp -r misc/dist/macos_template.app macos_template.app cp -r misc/dist/macos_template.app macos_template.app
mkdir -p macos_template.app/Contents/MacOS 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_debug.universal macos_template.app/Contents/MacOS/godot_macos_debug.universal