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

72 lines
3.1 KiB
YAML

name: "dev-desktop-builds"
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
env:
GODOT_VERSION: 3.2.2
EXPORT_NAME: material_maker
MM_RELEASE: 0_93
jobs:
generate_releases:
name: Generate releases 🗔
runs-on: ubuntu-latest
container:
image: docker://barichello/godot-ci:3.2.2
steps:
- name: Checkout 🛎️
uses: actions/checkout@v1
with:
submodules: true
- name: Setup 💻
run: |
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
- name: Windows Build 🗔
run: godot -v --export "Windows" ./build/${EXPORT_NAME}_${MM_RELEASE}_windows/$EXPORT_NAME.exe
- name: Linux Build 🐧
run: godot -v --export "Linux/X11" ./build/${EXPORT_NAME}_${MM_RELEASE}_linux/$EXPORT_NAME.x86_64
- name: Mac OSX Build 🐧
run: godot -v --export "Mac OSX" ./build/${EXPORT_NAME}_${MM_RELEASE}_macosx.zip
- name: Unzip Mac OSX build 📁
run: |
cd build
unzip ${EXPORT_NAME}_${MM_RELEASE}_macosx.zip
- name: Copy Material Maker data 📁
run: |
cp -R ./addons/material_maker/nodes ./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 ./addons/material_maker/nodes ./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 ./addons/material_maker/nodes ./build/material_maker.app/Contents/Resources
cp -R ./material_maker/examples ./build/material_maker.app/Contents/Resources
cp -R ./material_maker/library ./build/material_maker.app/Contents/Resources
- name: Create archives 📁
run: |
cd build
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
zip -r ${EXPORT_NAME}_${MM_RELEASE}_macosx.zip material_maker.app
- name: Upload Windows Artifact 🚀
uses: actions/upload-artifact@v2
with:
name: Windows snapshot
path: build/${{ env.EXPORT_NAME }}_${{ env.MM_RELEASE }}_windows.zip
- name: Upload Linux Artifact 🚀
uses: actions/upload-artifact@v2
with:
name: Linux snapshot
path: build/${{ env.EXPORT_NAME }}_${{ env.MM_RELEASE }}_linux.tar.gz
- name: Upload Mac OSX Artifact 🚀
uses: actions/upload-artifact@v2
with:
name: Mac OSX snapshot
path: build/${{ env.EXPORT_NAME }}_${{ env.MM_RELEASE }}_macosx.zip