Fix args #321
This file contains 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 FindAFactor Wheels | |
on: | |
push: | |
branches: | |
- main # Trigger on pushes to the main branch (adjust if needed) | |
workflow_dispatch: # Allow manual triggering of the workflow | |
jobs: | |
build_noble: | |
runs-on: ubuntu-24.04 # Use a Noble Numbat runner | |
strategy: | |
matrix: | |
platform: | |
- manylinux_2_39_x86_64 | |
steps: | |
- name: Checkout FindAFactor | |
uses: actions/checkout@v4 | |
- name: Prepare Build Environment (Linux) | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y python3-pybind11 libboost-dev | |
- name: Install Python Dependencies | |
run: | | |
mkdir venv | |
python -m venv venv | |
source venv/bin/activate | |
python -m pip install --upgrade pip | |
python -m pip install wheel setuptools pybind11 build cmake | |
- name: Build Wheel | |
run: | | |
source venv/bin/activate | |
python setup.py bdist_wheel --plat-name=${{ matrix.platform }} | |
- name: Upload Artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: FindAFactor-${{ matrix.platform }} | |
path: dist/ | |
build_jammy: | |
runs-on: ubuntu-22.04 # Use a Jammy Jellyfish runner | |
strategy: | |
matrix: | |
platform: | |
- manylinux_2_35_x86_64 | |
steps: | |
- name: Checkout FindAFactor | |
uses: actions/checkout@v4 | |
- name: Prepare Build Environment (Linux) | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y python3-pybind11 libboost-dev | |
- name: Install Python Dependencies | |
run: | | |
mkdir venv | |
python -m venv venv | |
source venv/bin/activate | |
python -m pip install --upgrade pip | |
python -m pip install wheel setuptools pybind11 build cmake | |
- name: Build Wheel | |
run: | | |
source venv/bin/activate | |
python setup.py bdist_wheel --plat-name=${{ matrix.platform }} | |
- name: Upload Artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: FindAFactor-${{ matrix.platform }} | |
path: dist/ | |
build_focal: | |
runs-on: ubuntu-20.04 # Use a Focal Fossa runner | |
strategy: | |
matrix: | |
platform: | |
- manylinux_2_31_x86_64 | |
steps: | |
- name: Checkout FindAFactor | |
uses: actions/checkout@v4 | |
- name: Prepare Build Environment (Linux) | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y python3-pybind11 libboost-dev | |
- name: Install Python Dependencies | |
run: | | |
mkdir venv | |
python -m venv venv | |
source venv/bin/activate | |
python -m pip install --upgrade pip | |
python -m pip install wheel setuptools pybind11 build cmake | |
- name: Build Wheel | |
run: | | |
source venv/bin/activate | |
python setup.py bdist_wheel --plat-name=${{ matrix.platform }} | |
- name: Upload Artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: FindAFactor-${{ matrix.platform }} | |
path: dist/ | |
build_windows: | |
runs-on: windows-latest # Use a Linux runner | |
strategy: | |
matrix: | |
platform: | |
- win-amd64 | |
steps: | |
- name: Checkout FindAFactor | |
uses: actions/checkout@v4 | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.12' | |
- name: Install Python Dependencies | |
run: | | |
python -m pip install --upgrade pip | |
python -m pip install wheel setuptools build cmake pybind11[global] | |
- name: Install Boost | |
uses: MarkusJx/install-boost@v2 | |
id: install-boost | |
with: | |
boost_version: 1.87.0 | |
- name: Build Wheel | |
env: | |
BOOST_ROOT: ${{ steps.install-boost.outputs.BOOST_ROOT }} | |
run: | | |
python setup.py bdist_wheel --plat-name=${{ matrix.platform }} | |
- name: Upload Artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: FindAFactor-${{ matrix.platform }} | |
path: dist/ | |
build_mac_15: | |
runs-on: macos-15 # Use a Mac OS runner | |
strategy: | |
matrix: | |
platform: | |
- macosx_15_0_arm64 | |
steps: | |
- name: Checkout FindAFactor | |
uses: actions/checkout@v4 | |
- name: Install Homebrew (MacOS) | |
uses: Homebrew/actions/setup-homebrew@master | |
- name: Prepare Build Environment (MacOS) | |
run: | | |
brew upgrade | |
brew install pybind11 boost python-build | |
- name: Install Python Dependencies | |
run: | | |
python -m pip install --upgrade pip | |
python -m pip install wheel setuptools pybind11 build cmake | |
- name: Build Wheel | |
run: | | |
python setup.py bdist_wheel --plat-name=${{ matrix.platform }} | |
- name: Upload Artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: FindAFactor-${{ matrix.platform }} | |
path: dist/ | |
build_mac_14: | |
runs-on: macos-14 # Use a Mac OS runner | |
strategy: | |
matrix: | |
platform: | |
- macosx_14_0_arm64 | |
steps: | |
- name: Checkout FindAFactor | |
uses: actions/checkout@v4 | |
- name: Install Homebrew (MacOS) | |
uses: Homebrew/actions/setup-homebrew@master | |
- name: Prepare Build Environment (MacOS) | |
run: | | |
brew upgrade | |
brew install pybind11 boost python-build | |
- name: Install Python Dependencies | |
run: | | |
python -m pip install --upgrade pip | |
python -m pip install wheel setuptools pybind11 build cmake | |
- name: Build Wheel | |
run: | | |
python setup.py bdist_wheel --plat-name=${{ matrix.platform }} | |
- name: Upload Artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: FindAFactor-${{ matrix.platform }} | |
path: dist/ | |
build_mac_13: | |
runs-on: macos-13 # Use a Mac OS runner | |
strategy: | |
matrix: | |
platform: | |
- macosx_13_0_x86_64 | |
steps: | |
- name: Checkout FindAFactor | |
uses: actions/checkout@v4 | |
- name: Install Homebrew (MacOS) | |
uses: Homebrew/actions/setup-homebrew@master | |
- name: Prepare Build Environment (MacOS) | |
run: | | |
brew upgrade | |
brew install pybind11 boost python-build | |
- name: Install Python Dependencies | |
run: | | |
python -m pip install --upgrade pip | |
python -m pip install wheel setuptools pybind11 build cmake | |
- name: Build Wheel | |
run: | | |
python setup.py bdist_wheel --plat-name=${{ matrix.platform }} | |
- name: Upload Artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: FindAFactor-${{ matrix.platform }} | |
path: dist/ |