Skip to content

Fix: Pass platform target explicitly to geode-sdk/build-geode-mod action #15

Fix: Pass platform target explicitly to geode-sdk/build-geode-mod action

Fix: Pass platform target explicitly to geode-sdk/build-geode-mod action #15

Workflow file for this run

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') }}