2020-08-11 12:31:14 +02:00
|
|
|
name: "dev-desktop-builds"
|
|
|
|
|
|
|
|
on:
|
|
|
|
push:
|
|
|
|
branches: [ master ]
|
|
|
|
pull_request:
|
|
|
|
branches: [ master ]
|
|
|
|
|
|
|
|
env:
|
2021-06-27 11:35:23 +02:00
|
|
|
GODOT_VERSION: 3.3.2
|
2021-08-03 12:12:28 +02:00
|
|
|
GODOT_VERSION_MAC: 3.3
|
2020-08-11 12:31:14 +02:00
|
|
|
EXPORT_NAME: material_maker
|
2021-06-27 11:35:23 +02:00
|
|
|
MM_RELEASE: 0_96
|
2020-08-11 12:31:14 +02:00
|
|
|
|
|
|
|
jobs:
|
2021-08-03 14:46:21 +02:00
|
|
|
export_windows_linux:
|
|
|
|
name: Export Windows and Linux 🗔
|
2020-08-11 12:31:14 +02:00
|
|
|
runs-on: ubuntu-latest
|
|
|
|
container:
|
2021-06-27 11:35:23 +02:00
|
|
|
image: docker://barichello/godot-ci:3.3.2
|
2020-08-11 12:31:14 +02:00
|
|
|
steps:
|
|
|
|
- name: Checkout 🛎️
|
|
|
|
uses: actions/checkout@v1
|
|
|
|
with:
|
|
|
|
submodules: true
|
|
|
|
- name: Setup 💻
|
|
|
|
run: |
|
2020-08-15 10:26:02 +02:00
|
|
|
mkdir -v -p build/${EXPORT_NAME}_${MM_RELEASE}_windows build/${EXPORT_NAME}_${MM_RELEASE}_linux build/${EXPORT_NAME}_${MM_RELEASE}_macosx ~/.local/share/godot/templates
|
2020-08-11 12:31:14 +02:00
|
|
|
mv /root/.local/share/godot/templates/${GODOT_VERSION}.stable ~/.local/share/godot/templates/${GODOT_VERSION}.stable
|
2020-10-07 20:22:41 +02:00
|
|
|
- name: Generate Documentation
|
2020-10-07 20:30:03 +02:00
|
|
|
uses: ammaraskar/sphinx-action@master
|
|
|
|
with:
|
|
|
|
docs-folder: "material_maker/doc"
|
2020-08-11 14:30:54 +02:00
|
|
|
- name: Windows Build 🗔
|
2020-08-11 12:38:16 +02:00
|
|
|
run: godot -v --export "Windows" ./build/${EXPORT_NAME}_${MM_RELEASE}_windows/$EXPORT_NAME.exe
|
2020-08-11 14:30:54 +02:00
|
|
|
- name: Linux Build 🐧
|
2020-08-11 14:33:17 +02:00
|
|
|
run: godot -v --export "Linux/X11" ./build/${EXPORT_NAME}_${MM_RELEASE}_linux/$EXPORT_NAME.x86_64
|
2020-08-11 12:31:14 +02:00
|
|
|
- name: Copy Material Maker data 📁
|
|
|
|
run: |
|
|
|
|
cp -R ./addons/material_maker/nodes ./build/${EXPORT_NAME}_${MM_RELEASE}_windows
|
2021-02-16 22:17:11 +01:00
|
|
|
cp -R ./material_maker/environments ./build/${EXPORT_NAME}_${MM_RELEASE}_windows
|
2020-08-11 12:31:14 +02:00
|
|
|
cp -R ./material_maker/examples ./build/${EXPORT_NAME}_${MM_RELEASE}_windows
|
|
|
|
cp -R ./material_maker/library ./build/${EXPORT_NAME}_${MM_RELEASE}_windows
|
2020-10-07 20:18:44 +02:00
|
|
|
cp -R ./material_maker/meshes ./build/${EXPORT_NAME}_${MM_RELEASE}_windows
|
2021-07-27 23:33:55 +02:00
|
|
|
cp -R ./material_maker/misc/export ./build/${EXPORT_NAME}_${MM_RELEASE}_windows
|
2020-10-07 20:18:44 +02:00
|
|
|
cp -R ./material_maker/doc/_build/html ./build/${EXPORT_NAME}_${MM_RELEASE}_windows/doc
|
2020-08-11 14:30:54 +02:00
|
|
|
cp -R ./addons/material_maker/nodes ./build/${EXPORT_NAME}_${MM_RELEASE}_linux
|
2021-02-16 22:17:11 +01:00
|
|
|
cp -R ./material_maker/environments ./build/${EXPORT_NAME}_${MM_RELEASE}_linux
|
2020-08-11 14:30:54 +02:00
|
|
|
cp -R ./material_maker/examples ./build/${EXPORT_NAME}_${MM_RELEASE}_linux
|
|
|
|
cp -R ./material_maker/library ./build/${EXPORT_NAME}_${MM_RELEASE}_linux
|
2020-10-07 20:18:44 +02:00
|
|
|
cp -R ./material_maker/meshes ./build/${EXPORT_NAME}_${MM_RELEASE}_linux
|
2021-07-27 23:33:55 +02:00
|
|
|
cp -R ./material_maker/misc/export ./build/${EXPORT_NAME}_${MM_RELEASE}_linux
|
2020-10-07 20:18:44 +02:00
|
|
|
cp -R ./material_maker/doc/_build/html ./build/${EXPORT_NAME}_${MM_RELEASE}_linux/doc
|
2020-08-11 14:30:54 +02:00
|
|
|
- name: Create archives 📁
|
2020-08-11 12:31:14 +02:00
|
|
|
run: |
|
2020-08-11 14:30:54 +02:00
|
|
|
cd build
|
2020-08-11 14:19:15 +02:00
|
|
|
zip -r ${EXPORT_NAME}_${MM_RELEASE}_windows.zip ${EXPORT_NAME}_${MM_RELEASE}_windows
|
2020-08-11 14:30:54 +02:00
|
|
|
tar zcvf ${EXPORT_NAME}_${MM_RELEASE}_linux.tar.gz ${EXPORT_NAME}_${MM_RELEASE}_linux
|
2021-08-03 14:46:21 +02:00
|
|
|
- name: Upload Documentation 🚀
|
|
|
|
uses: actions/upload-artifact@v2
|
|
|
|
with:
|
|
|
|
name: Documentation
|
|
|
|
path: ./material_maker/doc/_build/html
|
2020-08-11 14:30:54 +02:00
|
|
|
- name: Upload Windows Artifact 🚀
|
2020-08-11 14:57:55 +02:00
|
|
|
uses: actions/upload-artifact@v2
|
2020-08-11 12:31:14 +02:00
|
|
|
with:
|
2020-08-11 14:57:55 +02:00
|
|
|
name: Windows snapshot
|
2020-08-11 14:48:53 +02:00
|
|
|
path: build/${{ env.EXPORT_NAME }}_${{ env.MM_RELEASE }}_windows.zip
|
2020-08-11 14:30:54 +02:00
|
|
|
- name: Upload Linux Artifact 🚀
|
2020-08-11 14:57:55 +02:00
|
|
|
uses: actions/upload-artifact@v2
|
2020-08-11 14:30:54 +02:00
|
|
|
with:
|
2020-08-11 14:57:55 +02:00
|
|
|
name: Linux snapshot
|
2020-08-11 14:48:53 +02:00
|
|
|
path: build/${{ env.EXPORT_NAME }}_${{ env.MM_RELEASE }}_linux.tar.gz
|
2021-08-03 11:51:37 +02:00
|
|
|
export-mac:
|
|
|
|
name: Mac Export 🍎
|
2021-08-03 14:46:21 +02:00
|
|
|
needs: export_windows_linux
|
2021-08-03 11:51:37 +02:00
|
|
|
runs-on: macos-latest
|
|
|
|
steps:
|
|
|
|
- name: Checkout 🛎️
|
|
|
|
uses: actions/checkout@v1
|
|
|
|
with:
|
|
|
|
submodules: true
|
|
|
|
- name: Setup environment 🔧
|
|
|
|
run: |
|
2021-08-03 12:07:17 +02:00
|
|
|
export GODOT_VERSION=${GODOT_VERSION_MAC}
|
2021-08-03 12:16:07 +02:00
|
|
|
export EXPORT_NAME=material_maker
|
2021-08-03 11:51:37 +02:00
|
|
|
- name: Download and extract export templates 💾
|
|
|
|
run: |
|
|
|
|
mkdir -v -p ~/.local/share/godot/templates/${GODOT_VERSION_MAC}.stable
|
|
|
|
curl -O https://downloads.tuxfamily.org/godotengine/${GODOT_VERSION_MAC}/Godot_v${GODOT_VERSION_MAC}-stable_export_templates.tpz
|
|
|
|
unzip -a Godot_v${GODOT_VERSION_MAC}-stable_export_templates.tpz
|
|
|
|
mv ./templates/* ~/.local/share/godot/templates/${GODOT_VERSION_MAC}.stable
|
|
|
|
- name: Download Godot headless binary 🤖
|
|
|
|
run: |
|
2021-08-03 12:12:28 +02:00
|
|
|
wget https://github.com/huskeee/godot-headless-mac/releases/download/${GODOT_VERSION_MAC}-stable/Godot_v${GODOT_VERSION_MAC}-stable_mac_headless.64.zip
|
|
|
|
unzip -a Godot_v${GODOT_VERSION_MAC}-stable_mac_headless.64.zip
|
2021-08-03 11:51:37 +02:00
|
|
|
- name: Setup 💻
|
|
|
|
run: mkdir -v -p ./build/mac
|
|
|
|
- name: Mac Build 🔧
|
|
|
|
run: |
|
|
|
|
chown runner ./Godot
|
|
|
|
chmod +x ./Godot
|
2021-08-03 12:16:07 +02:00
|
|
|
./Godot -v --export "Mac OSX" ./build/mac/material_maker.zip
|
2021-08-03 11:51:37 +02:00
|
|
|
- name: Make application executable 🔧
|
|
|
|
run: |
|
2021-08-03 12:16:07 +02:00
|
|
|
unzip -a ./build/mac/material_maker.zip -d ./build/mac
|
|
|
|
chmod +x ./build/mac/material_maker.app/Contents/MacOS/material_maker
|
|
|
|
rm ./build/mac/material_maker.zip
|
2021-08-03 11:51:37 +02:00
|
|
|
- name: Fix application icon 🖼
|
2021-08-03 12:16:07 +02:00
|
|
|
run: sips -s format icns ./build/mac/material_maker.app/Contents/Resources/icon.icns --out ./build/mac/material_maker.app/Contents/Resources/icon.icns
|
2021-08-03 14:46:21 +02:00
|
|
|
- name: Get documentation 🚀
|
2021-08-03 14:53:42 +02:00
|
|
|
uses: actions/download-artifact@v2
|
|
|
|
with:
|
|
|
|
name: Documentation
|
2021-08-03 15:18:22 +02:00
|
|
|
path: doc
|
2021-08-03 11:51:37 +02:00
|
|
|
- name: Copy data folder 📁
|
|
|
|
run: |
|
2021-08-03 12:16:07 +02:00
|
|
|
cp -R ./addons/material_maker/nodes ./build/mac/material_maker.app/Contents/MacOS
|
|
|
|
cp -R ./material_maker/environments ./build/mac/material_maker.app/Contents/MacOS
|
|
|
|
cp -R ./material_maker/examples ./build/mac/material_maker.app/Contents/MacOS
|
|
|
|
cp -R ./material_maker/library ./build/mac/material_maker.app/Contents/MacOS
|
|
|
|
cp -R ./material_maker/meshes ./build/mac/material_maker.app/Contents/MacOS
|
|
|
|
cp -R ./material_maker/misc/export ./build/mac/material_maker.app/Contents/MacOS
|
2021-08-03 15:26:44 +02:00
|
|
|
cp -R ./doc ./build/mac/material_maker.app/Contents/MacOS/doc
|
2021-08-03 11:51:37 +02:00
|
|
|
- name: Create DMG archive 🔧
|
2021-08-03 12:16:07 +02:00
|
|
|
run: hdiutil create -srcfolder ./build/mac -volname material_maker ./build/mac/material_maker.dmg
|
2020-08-15 10:26:02 +02:00
|
|
|
- name: Upload Mac OSX Artifact 🚀
|
|
|
|
uses: actions/upload-artifact@v2
|
|
|
|
with:
|
|
|
|
name: Mac OSX snapshot
|
2021-08-03 12:16:07 +02:00
|
|
|
path: ./build/mac/material_maker.dmg
|