Skip to content

Building GDE GoZen - MacOS #15

Building GDE GoZen - MacOS

Building GDE GoZen - MacOS #15

Workflow file for this run

name: MacOS
run-name: Building GDE GoZen - MacOS
on:
workflow_dispatch:
inputs:
artifact_addon:
description: 'Get artifacts'
required: true
default: false
type: boolean
artifact_test_room:
description: 'Get test_room'
required: true
default: false
type: boolean
jobs:
build:
runs-on: macos-latest
steps:
- name: Checkout submodules
uses: actions/checkout@v4
with:
submodules: recursive
- name: Installing dependencies
run: |
brew update
brew install yasm scons diffutils make unzip ffmpeg
- name: Restore cached macos_debug
id: cache-macos-debug-restore
uses: actions/cache/restore@v4
with:
path: .scons-cache/
key: macos_debug
- name: Build MacOS debug
run: scons -j4 target=template_debug platform=macos arch=arm64 dev_build=yes recompile_ffmpeg=yes
- name: Save cache macos_debug
id: cache-macos-debug-save
uses: actions/cache/save@v4
with:
path: .scons-cache/
key: ${{ steps.cache-macos-debug-restore.outputs.cache-primary-key }}
- name: Restore cached macos_release
id: cache-macos-release-restore
uses: actions/cache/restore@v4
with:
path: .scons-cache/
key: macos_release
- name: Build MacOS release
run: scons -j4 target=template_release platform=macos arch=arm64 recompile_ffmpeg=no
- name: Save cache macos_release
id: cache-macos-release-save
uses: actions/cache/save@v4
with:
path: .scons-cache/
key: ${{ steps.cache-macos-release-restore.outputs.cache-primary-key }}
- name: Correct MacOS Binary paths
run: |
python macos_rpath_fix.py
otool -L bin/macos/debug/libgozen.macos.template_debug.dev.arm64.dylib
otool -L bin/macos/release/libgozen.macos.template_release.arm64.dylib
- name: Copying libs
run: |
cp -r bin/* test_room/addons/gde_gozen/bin/
cp LICENSE test_room/addons/gde_gozen/
- name: Uploading addon build
if: ${{ github.event.inputs.artifact_addon == 'true' }}
uses: actions/upload-artifact@v4
with:
name: Addon_GDE_GoZen_MacOS
path: test_room/addons/
retention-days: 1
- name: Uploading test room build
if: ${{ github.event.inputs.artifact_test_room == 'true' }}
uses: actions/upload-artifact@v4
with:
name: Test_room_GDE_GoZen_MacOS
path: test_room/
retention-days: 1