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 fce5f68
Showing 1 changed file with 65 additions and 35 deletions.
100 changes: 65 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_REPO: https://github.com/godotengine/godot.git
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"

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,31 @@ 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
env:
PLATFORM: "Windows"
EXTENSION: "exe"
BUILD_NAME: "windows-64bit"
steps:
- name: Checkout repository
uses: actions/checkout@v3

- name: Install dependencies
run: choco install scons
run: sudo apt install -y scons python3
run: sudo apt install mingw-w64

- name: Clone Godot repository
run: git clone $GODOT_REPO $GODOT_DIR
Expand All @@ -66,19 +77,28 @@ jobs:
- name: Build Godot template for Windows
run: |
find --help
pwd
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 ${{ runner.temp }}/build
cp bin/godot.windows.*.exe ${{ runner.temp }}/build/godot_template_windows.exe
- 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: ${{ runner.temp }}/build/godot_template_windows.exe
if-no-files-found: error
retention-days: 1

build-web:
name: Export GodSVG for Web
runs-on: ubuntu-latest
env:
PLATFORM: "Linux/X11"
EXTENSION: "exe"
BUILD_NAME: "linux-64bit"
steps:
- name: Checkout repository
uses: actions/checkout@v3
Expand All @@ -104,22 +124,30 @@ jobs:
git fetch
git checkout $GODOT_COMMIT_HASH
- name: Checkout specific commit
run: |
cd $GODOT_DIR
git fetch
git checkout $GODOT_COMMIT_HASH
- name: Build Godot template for Web
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
mkdir -p ~/build/godot_template_web
cp bin/godot.javascript.opt.* ~/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
name: godot_template_linux
path: ~/build/godot_template_linux
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 +169,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 fce5f68

Please sign in to comment.