Skip to content

Commit

Permalink
Oh this is SO pissing me off
Browse files Browse the repository at this point in the history
  • Loading branch information
MewPurPur committed Jun 4, 2024
1 parent 7ebb6d2 commit 0f0a064
Showing 1 changed file with 52 additions and 35 deletions.
87 changes: 52 additions & 35 deletions .github/workflows/export-optimized.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,24 @@ name: export-optimized

on:
workflow_dispatch:
push:

env:
GODOT_VERSION: 4.2.2
PROJECT_NAME: GodSVG
GODOT_REPO: https://github.com/godotengine/godot.git
GODOT_DIR: godot
BUILD_DIR: build
GODOT_COMMIT_HASH: 15073af
BUILD_OPTIONS: "target=template_release lto=full production=yes deprecated=no minizip=no brotli=no vulkan=no openxr=no use_volk=no disable_3d=yes modules_enabled_by_default=no module_freetype_enabled=yes module_gdscript_enabled=yes module_svg_enabled=yes module_jpg_enabled=yes module_text_server_adv_enabled=yes graphite=no module_webp_enabled=yes"
BUILD_OPTIONS: target=template_release lto=full production=yes deprecated=no minizip=no brotli=no vulkan=no openxr=no use_volk=no disable_3d=yes modules_enabled_by_default=no module_freetype_enabled=yes module_gdscript_enabled=yes module_svg_enabled=yes module_jpg_enabled=yes module_text_server_adv_enabled=yes graphite=no module_webp_enabled=yes

jobs:
build-linux:
name: Export GodSVG for Linux
runs-on: ubuntu-latest
env:
PLATFORM: "Linux/X11"
EXTENSION: "exe"
BUILD_NAME: "linux-64bit"
steps:
- name: Checkout repository
uses: actions/checkout@v3
Expand All @@ -33,27 +40,28 @@ jobs:
run: |
cd $GODOT_DIR
scons p=linuxbsd arch=x86_64 optimize=speed $BUILD_OPTIONS
mkdir -p ../$BUILD_DIR
cp bin/godot.linuxbsd.*.x86_64 ../$BUILD_DIR/godot_template_linux
mkdir -p ~/build
cp bin/godot.linuxbsd.*x86_64 ~/build/godot_template_linux
- name: Lmofa
run: ls $BUILD_DIR

- name: Upload Linux template
uses: actions/upload-artifact@v3
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: godot_template_linux
path: $BUILD_DIR/godot_template_linux
path: ~/build/godot_template_linux
if-no-files-found: error
retention-days: 1

build-windows:
runs-on: windows-latest
name: Export GodSVG for Windows
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3

- name: Install dependencies
run: choco install scons
run: |
sudo apt install -y scons python3
sudo apt install -y g++-mingw-w64-x86-64-posix
- name: Clone Godot repository
run: git clone $GODOT_REPO $GODOT_DIR
Expand All @@ -66,18 +74,22 @@ jobs:
- name: Build Godot template for Windows
run: |
apt search mingw
cd $GODOT_DIR
scons p=windows arch=x86_64 optimize=speed $BUILD_OPTIONS
cp bin/godot.windows.*.64 ../$BUILD_DIR/godot_template_windows
scons p=windows target=release_debug tools=no $BUILD_OPTIONS
mkdir -p ~/build
cp bin/godot.windows.*exe ~/build/godot_template_windows
- name: Upload Windows template
uses: actions/upload-artifact@v3
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: godot_template_windows
path: $BUILD_DIR/godot_template_windows
path: ~build/godot_template_windows
if-no-files-found: error
retention-days: 1

build-web:
name: Export GodSVG for Web
runs-on: ubuntu-latest
steps:
- name: Checkout repository
Expand All @@ -92,7 +104,8 @@ jobs:
cd emsdk
./emsdk install latest
./emsdk activate latest
source ./emsdk_env.sh
./emssdk_env.sh
emcc
shell: bash

- name: Clone Godot repository
Expand All @@ -109,17 +122,19 @@ jobs:
cd $GODOT_DIR
source ../emsdk/emsdk_env.sh
scons p=web arch=wasm32 javascript_eval=no optimize=size $BUILD_OPTIONS
mkdir -p ../$BUILD_DIR/godot_template_web
cp bin/godot.javascript.opt.* ../$BUILD_DIR/godot_template_web
mkdir -p ~/build
cp bin/godot.web.*wasm32 ~/build/godot_template_web
- name: Upload Web template
uses: actions/upload-artifact@v3
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: godot_template_web
path: $BUILD_DIR/godot_template_web
path: ~/build/godot_template_web
if-no-files-found: error
retention-days: 1

build-macos:
name: Export GodSVG for MacOS
runs-on: macos-latest
steps:
- name: Checkout repository
Expand All @@ -141,36 +156,38 @@ jobs:
run: |
cd $GODOT_DIR
scons p=macos arch=arm64 optimize=speed $BUILD_OPTIONS
mkdir -p ../$BUILD_DIR
cp bin/godot.macos.template_release.arm64 ../$BUILD_DIR/godot_template_macos_release_arm64
mkdir -p ~/build
cp bin/godot.macos.*arm64 ~/build/godot_template_macos_release_arm64
- name: Build Godot template for macOS (x86_64 release)
run: |
cd $GODOT_DIR
scons p=macos arch=x86_64 optimize=speed $BUILD_OPTIONS
cp bin/godot.macos.template_release.x86_64 ../$BUILD_DIR/godot_template_macos_release_x86_64
cp bin/godot.macos.*x86_64 ~/build/godot_template_macos_release_x86_64
- name: Combine binaries with lipo
run: |
cd $BUILD_DIR
lipo -create godot.macos.template_release.arm64 godot.macos.template_release.x86_64 -output godot_template_macos_release_universal
chmod +x godot_template_macos_*
cd ~/build
lipo -create godot_template_macos_release_arm64 godot_template_macos_release_x86_64 -output godot_template_macos_release_universal
chmod +x godot_template_macos_release_universal
- name: Prepare .app bundle
run: |
cp -R ~/workspace/misc/dist/macos_template.app .
mkdir -p macos_template.app/Contents/MacOS
cp godot_template_macos_debug_universal macos_template.app/Contents/MacOS/godot_macos_debug.universal
cp godot_template_macos_release_universal macos_template.app/Contents/MacOS/godot_macos_release.universal
chmod +x macos_template.app/Contents/MacOS/godot_macos*
cp -R ~/workspace/misc/dist/macos_template.app ~/build
mkdir -p ~/build/macos_template.app/Contents/MacOS
cp godot_template_macos_release_universal ~/build/macos_template.app/Contents/MacOS/godot
chmod +x ~/build/macos_template.app/Contents/MacOS/godot
- name: Zip the .app bundle
run: zip -q -9 -r macos.zip macos_template.app
run: |
cd ~/build
zip -q -9 -r macos.zip macos_template.app
- name: Upload macOS template
uses: actions/upload-artifact@v3
with:
name: godot_template_macos
path: macos.zip
if-no-files-found: error
retention-days: 1

0 comments on commit 0f0a064

Please sign in to comment.