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

132 lines
6.2 KiB
YAML
Raw Normal View History

name: "dev-desktop-builds"
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
env:
GODOT_VERSION: 3.3.2
2021-08-03 12:12:28 +02:00
GODOT_VERSION_MAC: 3.3
EXPORT_NAME: material_maker
MM_RELEASE: 0_96
jobs:
2021-08-03 14:46:21 +02:00
export_windows_linux:
name: Export Windows and Linux 🗔
runs-on: ubuntu-latest
container:
image: docker://barichello/godot-ci:3.3.2
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
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"
- 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
- 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
- name: Copy Material Maker data 📁
run: |
cp -R ./addons/material_maker/nodes ./build/${EXPORT_NAME}_${MM_RELEASE}_windows
cp -R ./material_maker/environments ./build/${EXPORT_NAME}_${MM_RELEASE}_windows
cp -R ./material_maker/examples ./build/${EXPORT_NAME}_${MM_RELEASE}_windows
cp -R ./material_maker/library ./build/${EXPORT_NAME}_${MM_RELEASE}_windows
cp -R ./material_maker/meshes ./build/${EXPORT_NAME}_${MM_RELEASE}_windows
cp -R ./material_maker/misc/export ./build/${EXPORT_NAME}_${MM_RELEASE}_windows
cp -R ./material_maker/doc/_build/html ./build/${EXPORT_NAME}_${MM_RELEASE}_windows/doc
cp -R ./addons/material_maker/nodes ./build/${EXPORT_NAME}_${MM_RELEASE}_linux
cp -R ./material_maker/environments ./build/${EXPORT_NAME}_${MM_RELEASE}_linux
cp -R ./material_maker/examples ./build/${EXPORT_NAME}_${MM_RELEASE}_linux
cp -R ./material_maker/library ./build/${EXPORT_NAME}_${MM_RELEASE}_linux
cp -R ./material_maker/meshes ./build/${EXPORT_NAME}_${MM_RELEASE}_linux
cp -R ./material_maker/misc/export ./build/${EXPORT_NAME}_${MM_RELEASE}_linux
cp -R ./material_maker/doc/_build/html ./build/${EXPORT_NAME}_${MM_RELEASE}_linux/doc
- name: Create archives 📁
run: |
cd build
2020-08-11 14:19:15 +02:00
zip -r ${EXPORT_NAME}_${MM_RELEASE}_windows.zip ${EXPORT_NAME}_${MM_RELEASE}_windows
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
- name: Upload Windows Artifact 🚀
2020-08-11 14:57:55 +02:00
uses: actions/upload-artifact@v2
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
- name: Upload Linux Artifact 🚀
2020-08-11 14:57:55 +02:00
uses: actions/upload-artifact@v2
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