Skip to content

Commit ae8358d

Browse files
committed
Enable arm64 builds for linux
1 parent 58cee71 commit ae8358d

3 files changed

Lines changed: 106 additions & 7 deletions

File tree

.github/workflows/dev-desktop-builds.yml

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,52 @@ jobs:
108108
with:
109109
name: linux_snapshot
110110
path: build/${{ env.EXPORT_NAME }}_${{ env.MM_RELEASE }}_linux.tar.gz
111+
export_linux_arm64:
112+
name: Linux Export (arm64) 🗔
113+
runs-on: ubuntu-24.04-arm
114+
steps:
115+
- name: Checkout 🛎️
116+
uses: actions/checkout@v1
117+
with:
118+
submodules: true
119+
- name: Setup 💻
120+
run: |
121+
cp -f material_maker/theme/default_theme_icons.svg material_maker/theme/default_theme_icons_export.svg
122+
wget -q ${GODOT_DOWNLOAD_DIR}/Godot_v${GODOT_VERSION}-${GODOT_SUB}_linux.arm64.zip
123+
unzip Godot_v${GODOT_VERSION}-${GODOT_SUB}_linux.arm64.zip
124+
wget -q ${GODOT_DOWNLOAD_DIR}/Godot_v${GODOT_VERSION}-${GODOT_SUB}_export_templates.tpz
125+
unzip -a Godot_v${GODOT_VERSION}-${GODOT_SUB}_export_templates.tpz
126+
mkdir -v -p ~/.local/share/godot/export_templates/${GODOT_VERSION}.${GODOT_SUB}
127+
mv ./templates/* ~/.local/share/godot/export_templates/${GODOT_VERSION}.${GODOT_SUB}
128+
mkdir -v -p build/${EXPORT_NAME}_${MM_RELEASE}_linux_arm64
129+
- name: Linux Build (arm64) 🐧
130+
run: |
131+
./Godot_v${GODOT_VERSION}-${GODOT_SUB}_linux.arm64 --headless -v --export-release "Linux/X11 ARM64" ./build/${EXPORT_NAME}_${MM_RELEASE}_linux_arm64/$EXPORT_NAME.arm64
132+
./Godot_v${GODOT_VERSION}-${GODOT_SUB}_linux.arm64 --headless -v --export-release "Linux/X11 ARM64" ./build/${EXPORT_NAME}_${MM_RELEASE}_linux_arm64/$EXPORT_NAME.arm64
133+
- name: Get documentation 🚀
134+
if: ${{ github.event.inputs.gen_doc == 'true' }}
135+
uses: actions/download-artifact@v4
136+
with:
137+
name: documentation
138+
path: doc
139+
- name: Copy Material Maker data 📁
140+
run: |
141+
cp -R ./addons/material_maker/nodes ./build/${EXPORT_NAME}_${MM_RELEASE}_linux_arm64
142+
cp -R ./material_maker/environments ./build/${EXPORT_NAME}_${MM_RELEASE}_linux_arm64
143+
cp -R ./material_maker/examples ./build/${EXPORT_NAME}_${MM_RELEASE}_linux_arm64
144+
cp -R ./material_maker/library ./build/${EXPORT_NAME}_${MM_RELEASE}_linux_arm64
145+
cp -R ./material_maker/meshes ./build/${EXPORT_NAME}_${MM_RELEASE}_linux_arm64
146+
cp -R ./material_maker/misc/export ./build/${EXPORT_NAME}_${MM_RELEASE}_linux_arm64
147+
cp -R ./material_maker/doc/_build/html ./build/${EXPORT_NAME}_${MM_RELEASE}_linux_arm64/doc || :
148+
- name: Create archives 📁
149+
run: |
150+
cd build
151+
tar zcvf ${EXPORT_NAME}_${MM_RELEASE}_linux_arm64.tar.gz ${EXPORT_NAME}_${MM_RELEASE}_linux_arm64
152+
- name: Upload Linux (arm64) Artifact 🚀
153+
uses: actions/upload-artifact@v4
154+
with:
155+
name: linux_arm64_snapshot
156+
path: build/${{ env.EXPORT_NAME }}_${{ env.MM_RELEASE }}_linux_arm64.tar.gz
111157
export-mac:
112158
name: Mac Export 🍎
113159
needs: export_windows_linux

0 commit comments

Comments
 (0)