Skip to content

🚧 [WIP] FMOD web support (HTML5) #116

🚧 [WIP] FMOD web support (HTML5)

🚧 [WIP] FMOD web support (HTML5) #116

Workflow file for this run

name: 🌈 Check Pull Request
on:
pull_request:
branches: "*"
# Global Settings
env:
PROJECT_FOLDER: fmod-gdextension
TARGET_PATH: demo/addons/fmod/libs/
TARGET_NAME: libGodotFmod
GODOT_VERSION: 4.2
FMOD_VERSION: 20212
jobs:
build:
name: ${{ matrix.name }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
include:
- name: Windows Editor Compilation
os: "windows-2022"
platform: windows
target: editor
artifact-extension: dll
additional-python-packages: pywin32
fmod-executable-suffix: win-installer.exe
shell: pwsh
- name: Windows Debug Compilation
os: "windows-2022"
platform: windows
target: template_debug
artifact-extension: dll
additional-python-packages: pywin32
fmod-executable-suffix: win-installer.exe
shell: pwsh
- name: Windows Release Compilation
os: "windows-2022"
platform: windows
target: template_release
artifact-extension: dll
additional-python-packages: pywin32
fmod-executable-suffix: win-installer.exe
shell: pwsh
- name: Ubuntu Editor Compilation
os: "ubuntu-20.04"
platform: linux
target: editor
artifact-extension: so
fmod-executable-suffix: linux.tar.gz
fmod-core-platform-folder: linux/core/lib/x86_64
fmod-studio-platform-folder: linux/studio/lib/x86_64
fmod-library-suffix: so
godot-executable-download-suffix: linux.x86_64.zip
godot-executable: Godot_v$GODOT_VERSION-stable_linux.x86_64
shell: bash
- name: Ubuntu Debug Compilation
os: "ubuntu-20.04"
platform: linux
target: template_debug
artifact-extension: so
fmod-executable-suffix: linux.tar.gz
shell: bash
- name: Ubuntu Release Compilation
os: "ubuntu-20.04"
platform: linux
target: template_release
artifact-extension: so
fmod-executable-suffix: linux.tar.gz
shell: bash
- name: MacOS Editor Compilation
os: "macos-11"
platform: macos
target: editor
artifact-extension: framework
fmod-executable-suffix: osx.dmg
fmod-core-platform-folder: osx/core/lib
fmod-studio-platform-folder: osx/studio/lib
fmod-library-suffix: dylib
godot-executable-download-suffix: macos.universal.zip
godot-executable: Godot.app/Contents/MacOs/Godot
shell: bash
- name: MacOS Debug Compilation
os: "macos-11"
platform: macos
target: template_debug
artifact-extension: framework
fmod-executable-suffix: osx.dmg
shell: bash
- name: MacOS Release Compilation
os: "macos-11"
platform: macos
target: template_release
artifact-extension: framework
fmod-executable-suffix: osx.dmg
shell: bash
- name: Android Editor Compilation
os: "ubuntu-20.04"
platform: android
target: editor
artifact-extension: so
fmod-executable-suffix: android.tar.gz
flags: ANDROID_NDK_ROOT=$ANDROID_NDK_LATEST_HOME arch=arm64
shell: bash
- name: Android Debug Compilation
os: "ubuntu-20.04"
platform: android
target: template_debug
artifact-extension: so
fmod-executable-suffix: android.tar.gz
flags: ANDROID_NDK_ROOT=$ANDROID_NDK_LATEST_HOME arch=arm64
shell: bash
- name: Android Release Compilation
os: "ubuntu-20.04"
platform: android
target: template_release
artifact-extension: so
fmod-executable-suffix: android.tar.gz
flags: ANDROID_NDK_ROOT=$ANDROID_NDK_LATEST_HOME arch=arm64
shell: bash
- name: iOS Debug Compilation
os: "macos-11"
platform: ios
target: template_debug
artifact-extension: dylib
fmod-executable-suffix: ios.dmg
flags: arch=arm64
shell: bash
- name: iOS Release Compilation
os: "macos-11"
platform: ios
target: template_release
artifact-extension: dylib
fmod-executable-suffix: ios.dmg
flags: arch=arm64
shell: bash
steps:
- name: Checkout
uses: actions/checkout@v3
with:
lfs: true
submodules: recursive
- name: Android dependencies
if: ${{ matrix.platform == 'android' }}
uses: nttld/setup-ndk@v1
with:
ndk-version: r23c
link-to-sdk: true
- name: Compile native plugin
uses: ./.github/actions/create-native-build
with:
platform: ${{ matrix.platform }}
target: ${{ matrix.target }}
artifact-extension: ${{ matrix.artifact-extension }}
additional-python-packages: ${{ matrix.additional-python-packages }}
flags: ${{ matrix.flags }}
fmod-executable-suffix: ${{ matrix.fmod-executable-suffix }}
fmod-user: ${{ secrets.FMODUSER }}
fmod-password: ${{ secrets.FMODPASS }}
shell: ${{ matrix.shell }}
- name: Download godot engine
if: matrix.platform != 'android' && matrix.platform != 'ios' && matrix.platform != 'windows' && matrix.target == 'editor'
run: |
wget https://downloads.tuxfamily.org/godotengine/${{env.GODOT_VERSION}}/Godot_v${{env.GODOT_VERSION}}-stable_${{ matrix.godot-executable-download-suffix }}
unzip Godot_v${{env.GODOT_VERSION}}-stable_${{ matrix.godot-executable-download-suffix }}
rm Godot_v${{env.GODOT_VERSION}}-stable_${{ matrix.godot-executable-download-suffix }}
- name: Run tests
if: matrix.platform != 'android' && matrix.platform != 'ios' && matrix.platform != 'windows' && matrix.target == 'editor'
run: |
cd demo
chmod +x run_tests.sh
chmod +x ../${{ matrix.godot-executable }}
./run_tests.sh ../${{ matrix.godot-executable }}
create-android-plugin:
needs: [ build ]
strategy:
matrix:
include:
- os: "ubuntu-20.04"
runs-on: ${{ matrix.os }}
steps:
- name: Checkout
uses: actions/checkout@v3
with:
lfs: true
submodules: recursive
- name: Create android plugin
uses: ./.github/actions/create-android-plugin