Create LICENSE #16
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: Build Geode Mod | |
| on: | |
| workflow_dispatch: | |
| push: | |
| branches: | |
| - master | |
| jobs: | |
| build: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| config: | |
| - name: Windows | |
| os: windows-latest | |
| target: windows | |
| extra-args: "" | |
| - name: macOS | |
| os: macos-latest | |
| target: mac-os | |
| # macOS runner is arm64, so we disable universal binary to avoid x86_64 linking errors with arm64 Python | |
| extra-args: "-DGEODE_DISABLE_UNIVERSAL_BINARY=ON" | |
| # Android is currently failing due to missing prebuilt ARM headers/libs. | |
| # We keep them here but they won't stop the Windows/Mac package from generating. | |
| - name: Android64 | |
| os: ubuntu-latest | |
| target: android64 | |
| extra-args: "" | |
| - name: Android32 | |
| os: ubuntu-latest | |
| target: android32 | |
| extra-args: "" | |
| name: ${{ matrix.config.name }} | |
| runs-on: ${{ matrix.config.os }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Setup Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.11' | |
| - name: Build Mod | |
| uses: geode-sdk/build-geode-mod@main | |
| with: | |
| bindings-checkout: false | |
| combine: true | |
| # Pass the platform target explicitly as a build argument. | |
| build-args: --platform ${{ matrix.config.target }} | |
| # Remove the 'target' input to avoid potential conflicts and ensure the platform is passed correctly. | |
| # target: ${{ matrix.config.target }} | |
| extra-config: -DPython3_ROOT_DIR=${{ env.pythonLocation }} -DPython3_FIND_STRATEGY=LOCATION -DPython3_FIND_FRAMEWORK=NEVER ${{ matrix.config.extra-args }} | |
| # Allow Android to fail without stopping the whole pipeline | |
| continue-on-error: ${{ contains(matrix.config.target, 'android') }} |