diff --git a/.github/workflows/action.yml b/.github/workflows/action.yml index c728bb8..ad5b21e 100644 --- a/.github/workflows/action.yml +++ b/.github/workflows/action.yml @@ -51,8 +51,8 @@ jobs: name: windows-build path: dist/ - build-macos: - runs-on: macos-latest + build-macos-intel: + runs-on: macos-12 strategy: matrix: python-version: ['3.8', '3.9', '3.10', '3.11', '3.12'] @@ -88,5 +88,46 @@ jobs: - name: Store build artifacts uses: actions/upload-artifact@v3 with: - name: macos-build + name: macos-intel-build + path: dist/ + + build-macos-arm: + runs-on: macos-14 + strategy: + matrix: + python-version: ['3.11', '3.12'] + steps: + - uses: actions/checkout@v2 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python-version }} + - name: Install Python dependencies + run: | + python -m pip install --upgrade pip + pip install --upgrade cffi wheel delocate pytest setuptools + - name: Build and install CLIPS + run: | + sudo make install-clips + - name: Build CLIPSPy + run: | + sudo python setup.py build_ext --include-dirs=clips_source/ --library-dirs=clips_source/ + sudo python setup.py sdist bdist_wheel --plat-name macosx-14.0-arm64 + - name: Repair wheels + run: | + for whl in $(ls dist | grep .whl); do + delocate-wheel -v "dist/$whl" + done + - name: Install CLIPSPy + run: | + pip install dist/*.whl + - name: Run tests + run: | + # Run test from outside module to test installed package + cd ../ + python -m pytest -v clipspy/test + - name: Store build artifacts + uses: actions/upload-artifact@v3 + with: + name: macos-arm-build path: dist/