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