Port to Godot 4 #2431
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Development desktop builds | |
on: | |
push: | |
branches: [ master ] | |
pull_request: | |
branches: [ master ] | |
paths-ignore: | |
- "Translations/*" | |
- "installer/*.pot" | |
- "installer/po/*" | |
concurrency: | |
group: ci-${{github.actor}}-${{github.head_ref || github.run_number}}-${{github.ref}}-devdesktop | |
cancel-in-progress: true | |
env: | |
GODOT_VERSION: 4.1.1 | |
GODOT_VERSION_MAC: 4.1.1 | |
EXPORT_NAME: Pixelorama | |
jobs: | |
export-windows: | |
name: Windows Export 🗔 | |
runs-on: ubuntu-latest | |
container: | |
image: docker://barichello/godot-ci:4.1.1 | |
steps: | |
- name: Setup WINE and rcedit 🍷 | |
run: | | |
dpkg --add-architecture i386 && apt-get update && apt-get install -y wine-stable && apt-get install -y wine32 | |
chown root:root -R ~ | |
wget https://github.com/electron/rcedit/releases/download/v1.1.1/rcedit-x64.exe | |
mkdir -v -p ~/.local/share/rcedit | |
mv rcedit-x64.exe ~/.local/share/rcedit | |
godot --headless --quit | |
echo 'export/windows/wine = "/usr/bin/wine"' >> ~/.config/godot/editor_settings-4.tres | |
echo 'export/windows/rcedit = "/github/home/.local/share/rcedit/rcedit-x64.exe"' >> ~/.config/godot/editor_settings-4.tres | |
- name: Checkout 🛎️ | |
uses: actions/checkout@v3 | |
with: | |
submodules: true | |
- name: Setup 💻 | |
run: | | |
mkdir -v -p build/windows-64bit ~/.local/share/godot/export_templates | |
mv /root/.local/share/godot/export_templates/${GODOT_VERSION}.stable ~/.local/share/godot/export_templates/${GODOT_VERSION}.stable | |
- name: Windows Build 🔧 | |
run: godot --headless -v --export-release "Windows Desktop 64-bit" ./build/windows-64bit/$EXPORT_NAME.exe | |
- name: Copy pixelorama_data folder 📁 | |
run: | | |
cp -R ./pixelorama_data ./build/windows-64bit | |
rm ./build/windows-64bit/pixelorama_data/.gdignore | |
- name: Upload Artifact 🚀 | |
uses: actions/upload-artifact@v3 | |
with: | |
name: Windows-64bit | |
path: ./build/windows-64bit/ | |
retention-days: 14 | |
export-linux: | |
name: Linux Export 🐧 | |
runs-on: ubuntu-latest | |
container: | |
image: docker://barichello/godot-ci:4.1.1 | |
steps: | |
- name: Checkout 🛎️ | |
uses: actions/checkout@v3 | |
with: | |
submodules: true | |
- name: Setup 💻 | |
run: | | |
mkdir -v -p build/linux-64bit ~/.local/share/godot/export_templates | |
mv /root/.local/share/godot/export_templates/${GODOT_VERSION}.stable ~/.local/share/godot/export_templates/${GODOT_VERSION}.stable | |
- name: Linux Build 🔧 | |
run: | | |
godot --headless -v --export-release "Linux/X11 64-bit" ./build/linux-64bit/$EXPORT_NAME.x86_64 | |
- name: Give execute permission ☑️ | |
run: | | |
chmod +x ./build/linux-64bit/$EXPORT_NAME.x86_64 | |
- name: Copy pixelorama_data folder 📁 | |
run: | | |
rm ./pixelorama_data/.gdignore | |
cp -R ./pixelorama_data ./build/linux-64bit | |
- name: Create tar.gz archive 🗜️ | |
run: | | |
cd build | |
tar zcvf linux-64bit.tar.gz linux-64bit | |
- name: Upload Artifact 🚀 | |
uses: actions/upload-artifact@v3 | |
with: | |
name: Linux-64bit | |
path: ./build/linux-64bit.tar.gz | |
retention-days: 14 | |
export-mac: | |
name: Mac Export 🍎 | |
runs-on: macos-latest | |
steps: | |
- name: Checkout 🛎️ | |
uses: actions/checkout@v3 | |
with: | |
submodules: true | |
- name: Setup environment 🔧 | |
run: | | |
export GODOT_VERSION=${GODOT_VERSION_MAC} | |
export EXPORT_NAME=Pixelorama | |
- name: Download and extract export templates 💾 | |
run: | | |
mkdir -v -p "/Users/runner/Library/Application Support/Godot/export_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/* "/Users/runner/Library/Application Support/Godot/export_templates/${GODOT_VERSION_MAC}.stable" | |
- name: Download Godot headless binary 🤖 | |
run: | | |
wget https://github.com/godotengine/godot/releases/download/${GODOT_VERSION_MAC}-stable/Godot_v${GODOT_VERSION_MAC}-stable_macos.universal.zip | |
unzip -a Godot_v${GODOT_VERSION_MAC}-stable_macos.universal.zip | |
- name: Setup 💻 | |
run: mkdir -v -p ./build/mac | |
- name: Mac Build 🔧 | |
run: | | |
chown runner ./Godot.app/Contents/MacOS/Godot | |
chmod +x ./Godot.app/Contents/MacOS/Godot | |
./Godot.app/Contents/MacOS/Godot --headless -v --export-release "macOS" ./build/mac/Pixelorama.zip | |
- name: Make application executable 🔧 | |
run: | | |
unzip -a ./build/mac/Pixelorama.zip -d ./build/mac | |
chmod +x ./build/mac/Pixelorama.app/Contents/MacOS/Pixelorama | |
rm ./build/mac/Pixelorama.zip | |
- name: Fix application icon 🖼 | |
run: sips -s format icns ./build/mac/Pixelorama.app/Contents/Resources/icon.icns --out ./build/mac/Pixelorama.app/Contents/Resources/icon.icns | |
- name: Copy pixelorama_data folder 📁 | |
run: | | |
cp -R ./pixelorama_data ./build/mac/Pixelorama.app/Contents/Resources | |
rm ./build/mac/Pixelorama.app/Contents/Resources/pixelorama_data/.gdignore | |
- name: Ad-hoc signing ✍️ | |
run: codesign -s - --force --deep ./build/mac/Pixelorama.app | |
- name: Create DMG archive 🔧 | |
run: hdiutil create -srcfolder ./build/mac -fs HFS+ -volname Pixelorama ./build/mac/Pixelorama.dmg | |
- name: Upload Artifact 🚀 | |
uses: actions/upload-artifact@v3 | |
with: | |
name: Mac | |
path: ./build/mac/Pixelorama.dmg | |
retention-days: 14 |