diff --git a/.cirrus.yml b/.cirrus.yml index 7ca6623..bc448ef 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -72,9 +72,9 @@ pi_task: mac_task: macos_instance: matrix: - - image: ghcr.io/cirruslabs/macos-sonoma-xcode:latest + - image: ghcr.io/cirruslabs/macos-sequoia-xcode:latest env: - MACOSX_DEPLOYMENT_TARGET: "11.0" + MACOSX_DEPLOYMENT_TARGET: "11" matrix: - env: PY_VER: "3.12" diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 7a331bf..3a5359f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -117,6 +117,112 @@ jobs: path: dist/* + build-mac-arm64: + runs-on: macos-13 + strategy: + matrix: + python-version: [ '3.12', '3.13', '3.14'] + raylib-platform: ['Desktop', 'SDL'] + env: + MACOSX_DEPLOYMENT_TARGET: '11' + steps: + # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it + - uses: actions/checkout@v4 + with: + submodules: recursive + + - name: fix raygui bug + run: | + patch -p0 =2.0.0" + pip3 install --upgrade wheel + pip3 install --upgrade setuptools + python -m pip install --upgrade build + python -m build --wheel + + - name: Test + run: | + pip3 install dist/*.whl + cd / + python3 -c 'import pyray; pyray.init_window(100,100,"test")' >/tmp/output 2>&1 || true + cat /tmp/output + if grep -q "INFO: Initializing raylib" /tmp/output; then + echo "Passed" + exit 0 + else + echo "Failed" + exit 1 + fi + + - name: Rename wheels from universal2 to arm64 + run: | + # Rename universal2 wheels to arm64 since they aren't truly universal + for wheel in dist/*universal2.whl; do + if [ -f "$wheel" ]; then + new_wheel=$(echo "$wheel" | sed 's/universal2/arm64/') + echo "Renaming: $(basename "$wheel") -> $(basename "$new_wheel")" + mv "$wheel" "$new_wheel" + fi + done + shell: bash + + - name: Upload build Artifact wheel + uses: actions/upload-artifact@v4 + with: + name: wheel-mac-arm64-${{ matrix.raylib-platform }}-${{ matrix.python-version }} + path: dist/* + + build-linux: runs-on: ubuntu-latest @@ -394,7 +500,7 @@ jobs: path: dynamic/dist/* merge: - needs: [build-mac-intel, build-windows, build-linux, source-distro, dynamic-distro] + needs: [build-mac-intel, build-mac-arm64, build-windows, build-linux, source-distro, dynamic-distro] runs-on: ubuntu-latest steps: - name: Merge All Artifacts