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 5, 2024
1 parent 7ebb6d2 commit ffedda1
Show file tree
Hide file tree
Showing 2 changed files with 52 additions and 40 deletions.
8 changes: 8 additions & 0 deletions .github/workflows/dev-desktop.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,10 @@ jobs:
steps:
- name: Checkout repo
uses: actions/checkout@v4

- name: Set up Godot
uses: ./.github/actions/set-up-godot

- name: Set up WINE and rcedit for Windows export
run: |
# Download rcedit and install wine.
Expand All @@ -40,8 +42,10 @@ jobs:
# Add wine and rcedit paths to Godot config.
echo 'export/windows/wine = "/usr/bin/wine64"' >> ~/.config/godot/editor_settings-4.tres
echo 'export/windows/rcedit = "/home/runner/.local/share/rcedit/rcedit-x64.exe"' >> ~/.config/godot/editor_settings-4.tres
- name: Export project
uses: ./.github/actions/godot-export

- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
Expand All @@ -60,16 +64,20 @@ jobs:
steps:
- name: Checkout repo
uses: actions/checkout@v4

- name: Set up Godot
uses: ./.github/actions/set-up-godot

- name: Export project
uses: ./.github/actions/godot-export

- name: Make Linux export runnable
run: |
# Set run permission.
chmod +x ~/build/${BUILD_NAME}/${PROJECT_NAME}.x86_64
cd ~/build
tar zcvf ${BUILD_NAME}.tar.gz ${BUILD_NAME}
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
Expand Down
84 changes: 44 additions & 40 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 @@ -32,28 +39,27 @@ jobs:
- name: Build Godot template for Linux
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
scons p=linuxbsd arch=x86_64 optimize=speed ${BUILD_OPTIONS}
- 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: $GODOT_DIR/bin/godot.linuxbsd.template_release.x86_64/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 +72,20 @@ 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}
- 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: $GODOT_DIR/bin/godot.windows.template_release.x86_64.exe/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 Down Expand Up @@ -108,18 +116,18 @@ jobs:
run: |
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
scons p=web arch=wasm32 javascript_eval=no optimize=size ${BUILD_OPTIONS}
- 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: $GODOT_DIR/bin/godot.web.template_release.wasm32.zip/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 @@ -140,37 +148,33 @@ jobs:
- name: Build Godot template for macOS (arm64 release)
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
scons p=macos arch=arm64 optimize=speed ${BUILD_OPTIONS}
- 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
scons p=macos arch=x86_64 optimize=speed ${BUILD_OPTIONS}
- 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 $GODOT_DIR/bin
lipo -create godot.macos.template_release.x86_64 godot.macos.template_release.arm64 -output godot.macos.template_release.universal
chmod +x *
- name: Prepare .app bundle
run: |
cp -R ~/workspace/misc/dist/macos_template.app .
cd $GODOT_DIR/bin
cp -R ../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*
- name: Zip the .app bundle
run: zip -q -9 -r macos.zip macos_template.app
cp godot.macos.template_release.universal macos_template.app/Contents/MacOS/godot_macos_release.universal;
chmod +x macos_template.app/Contents/MacOS/godot_macos*;
zip -q -9 -r godot_template_macos.zip macos_template.app;
- name: Upload macOS template
uses: actions/upload-artifact@v3
with:
name: godot_template_macos
path: macos.zip
path: $GODOT_DIR/bin/godot_template_macos.zip
if-no-files-found: error
retention-days: 1

0 comments on commit ffedda1

Please sign in to comment.