🚧 [WIP] FMOD web support (HTML5) #116
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |