Fix compiling with GCC 13+ #424
Workflow file for this run
This file contains hidden or 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: | |
| types: [opened, synchronize, reopened] | |
| pull_request_target: | |
| types: [opened, synchronize, reopened] | |
| # Global Settings | |
| env: | |
| GODOT_VERSION: 4.5 | |
| NDK_VERSION: 27.3.13750724 | |
| TARGET_PATH: demo/addons/fmod/libs/ | |
| TARGET_NAME: libGodotFmod | |
| FMOD_VERSION: 20306 | |
| jobs: | |
| gate: | |
| runs-on: ubuntu-latest | |
| # EXCLUSIVE PATHS: | |
| # - In-repo PRs use pull_request | |
| # - External PRs use pull_request_target, so secrets are available, but only after the run is approved | |
| if: > | |
| ( | |
| github.event_name == 'pull_request' && | |
| github.event.pull_request.head.repo.full_name == github.repository | |
| ) || ( | |
| github.event_name == 'pull_request_target' && | |
| github.event.pull_request.head.repo.full_name != github.repository | |
| ) | |
| environment: ${{ github.event_name == 'pull_request_target' && 'external-pr' || '' }} | |
| steps: | |
| - run: echo "Run Approved" | |
| build: | |
| name: ${{ matrix.name }} | |
| needs: gate | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - name: Windows Editor Compilation | |
| os: "windows-2022" | |
| platform: windows | |
| target: editor | |
| additional-python-packages: pywin32 | |
| fmod-executable-suffix: win-installer.exe | |
| shell: pwsh | |
| - name: Windows Debug Compilation | |
| os: "windows-2022" | |
| platform: windows | |
| target: template_debug | |
| additional-python-packages: pywin32 | |
| fmod-executable-suffix: win-installer.exe | |
| shell: pwsh | |
| - name: Windows Release Compilation | |
| os: "windows-2022" | |
| platform: windows | |
| target: template_release | |
| additional-python-packages: pywin32 | |
| fmod-executable-suffix: win-installer.exe | |
| shell: pwsh | |
| - name: Ubuntu Editor Compilation | |
| os: "ubuntu-22.04" | |
| platform: linux | |
| target: editor | |
| 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-22.04" | |
| platform: linux | |
| target: template_debug | |
| fmod-executable-suffix: linux.tar.gz | |
| shell: bash | |
| - name: Ubuntu Release Compilation | |
| os: "ubuntu-22.04" | |
| platform: linux | |
| target: template_release | |
| fmod-executable-suffix: linux.tar.gz | |
| shell: bash | |
| - name: MacOS Editor Compilation | |
| os: "macos-14" | |
| platform: macos | |
| target: editor | |
| 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-14" | |
| platform: macos | |
| target: template_debug | |
| fmod-executable-suffix: osx.dmg | |
| shell: bash | |
| - name: MacOS Release Compilation | |
| os: "macos-14" | |
| platform: macos | |
| target: template_release | |
| fmod-executable-suffix: osx.dmg | |
| shell: bash | |
| - name: Android Editor Compilation | |
| os: "ubuntu-22.04" | |
| platform: android | |
| target: editor | |
| fmod-executable-suffix: android.tar.gz | |
| flags: ndk_version=$NDK_VERSION arch=arm64 | |
| shell: bash | |
| - name: Android Debug Compilation | |
| os: "ubuntu-22.04" | |
| platform: android | |
| target: template_debug | |
| fmod-executable-suffix: android.tar.gz | |
| flags: ndk_version=$NDK_VERSION arch=arm64 | |
| shell: bash | |
| - name: Android Release Compilation | |
| os: "ubuntu-22.04" | |
| platform: android | |
| target: template_release | |
| fmod-executable-suffix: android.tar.gz | |
| flags: ndk_version=$NDK_VERSION arch=arm64 | |
| shell: bash | |
| - name: iOS Debug Compilation | |
| os: "macos-14" | |
| platform: ios | |
| target: template_debug | |
| fmod-executable-suffix: ios.dmg | |
| shell: bash | |
| - name: iOS Release Compilation | |
| os: "macos-14" | |
| platform: ios | |
| target: template_release | |
| fmod-executable-suffix: ios.dmg | |
| shell: bash | |
| steps: | |
| - name: Checkout (in-repo PR) | |
| if: github.event_name == 'pull_request' | |
| uses: actions/checkout@v4 | |
| with: | |
| lfs: true | |
| submodules: recursive | |
| - name: Checkout (external PR via target) | |
| if: github.event_name == 'pull_request_target' | |
| uses: actions/checkout@v4 | |
| with: | |
| lfs: true | |
| submodules: recursive | |
| ref: ${{ github.event.pull_request.head.sha }} | |
| persist-credentials: false | |
| - 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 }} | |
| 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://github.com/godotengine/godot-builds/releases/download/${{env.GODOT_VERSION}}-stable/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-22.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 |