just for fun: try python windows build #31
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: Mt-KaHyPar Python Package | |
on: | |
push | |
jobs: | |
# package_linux_x86: | |
# name: Python Package Linux x86 | |
# runs-on: ubuntu-24.04 | |
# env: | |
# CI_ACTIVE : 1 | |
# TBB_INSTALL_DIR: /tmp/tbb_build | |
# steps: | |
# - uses: actions/checkout@v4 | |
# - uses: actions/setup-python@v5 | |
# - name: Install Dependencies | |
# run: | | |
# sudo apt-get install libtbb-dev libhwloc-dev libboost-program-options-dev | |
# python3 -m pip install cibuildwheel>=2.22.0 | |
# - name: Build Python Wheels | |
# env: | |
# CIBW_ARCHS_LINUX: x86_64 | |
# CIBW_BUILD: cp3*-manylinux* | |
# run: | | |
# # run cmake to create pyproject.toml from pyproject.toml.in | |
# cmake -B configure_python --preset=minimal -DKAHYPAR_SETUP_PYTHON=On -DKAHYPAR_TBB_DIR=$TBB_INSTALL_DIR -DKAHYPAR_DISABLE_HWLOC=Off | |
# rm -rf configure_python | |
# python3 -m cibuildwheel --output-dir wheels | |
# - uses: actions/upload-artifact@v4 | |
# with: | |
# name: cibw-wheels-ubuntu-24.04 | |
# path: ./wheels/*.whl | |
# package_linux_arm_1: | |
# name: Python Package Linux ARM 1 | |
# runs-on: ubuntu-24.04 | |
# env: | |
# CI_ACTIVE : 1 | |
# TBB_INSTALL_DIR: /tmp/tbb_build | |
# steps: | |
# - uses: actions/checkout@v4 | |
# - uses: actions/setup-python@v5 | |
# - name: Set up QEMU | |
# uses: docker/setup-qemu-action@v3 | |
# with: | |
# platforms: all | |
# - name: Install Dependencies | |
# run: | | |
# sudo apt-get install libtbb-dev libhwloc-dev libboost-program-options-dev | |
# python3 -m pip install cibuildwheel>=2.22.0 | |
# - name: Build Python Wheels | |
# env: | |
# CIBW_ARCHS_LINUX: aarch64 | |
# CIBW_BUILD: cp3{9,10,11}-manylinux* | |
# run: | | |
# # run cmake to create pyproject.toml from pyproject.toml.in | |
# cmake -B configure_python --preset=minimal -DKAHYPAR_SETUP_PYTHON=On -DKAHYPAR_TBB_DIR=$TBB_INSTALL_DIR -DKAHYPAR_DISABLE_HWLOC=Off | |
# rm -rf configure_python | |
# python3 -m cibuildwheel --output-dir wheels | |
# - uses: actions/upload-artifact@v4 | |
# with: | |
# name: cibw-wheels-ubuntu-24.04-arm1 | |
# path: ./wheels/*.whl | |
# package_linux_arm_2: | |
# name: Python Package Linux ARM 2 | |
# runs-on: ubuntu-24.04 | |
# env: | |
# CI_ACTIVE : 1 | |
# TBB_INSTALL_DIR: /tmp/tbb_build | |
# steps: | |
# - uses: actions/checkout@v4 | |
# - uses: actions/setup-python@v5 | |
# - name: Set up QEMU | |
# uses: docker/setup-qemu-action@v3 | |
# with: | |
# platforms: all | |
# - name: Install Dependencies | |
# run: | | |
# sudo apt-get install libtbb-dev libhwloc-dev libboost-program-options-dev | |
# python3 -m pip install cibuildwheel>=2.22.0 | |
# - name: Build Python Wheels | |
# env: | |
# CIBW_ARCHS_LINUX: aarch64 | |
# CIBW_BUILD: cp3*-manylinux* | |
# CIBW_PROJECT_REQUIRES_PYTHON: ">=3.12" | |
# run: | | |
# # run cmake to create pyproject.toml from pyproject.toml.in | |
# cmake -B configure_python --preset=minimal -DKAHYPAR_SETUP_PYTHON=On -DKAHYPAR_TBB_DIR=$TBB_INSTALL_DIR -DKAHYPAR_DISABLE_HWLOC=Off | |
# rm -rf configure_python | |
# python3 -m cibuildwheel --output-dir wheels | |
# - uses: actions/upload-artifact@v4 | |
# with: | |
# name: cibw-wheels-ubuntu-24.04-arm2 | |
# path: ./wheels/*.whl | |
# package_macos: | |
# name: Python Package MacOS | |
# runs-on: macos-latest | |
# env: | |
# CI_ACTIVE : 1 | |
# TBB_INSTALL_DIR: /tmp/tbb_build | |
# steps: | |
# - uses: actions/checkout@v4 | |
# - uses: actions/setup-python@v5 | |
# - name: Install Dependencies | |
# run: | | |
# brew install tbb boost pipx | |
# - name: Build Python Wheels | |
# env: | |
# CIBW_ARCHS_MACOS: x86_64 arm64 | |
# CIBW_BUILD: cp3*-macos* | |
# # TBB doesn't compile on older MacOS than 10.13 | |
# MACOSX_DEPLOYMENT_TARGET: 10.13 | |
# run: | | |
# # run cmake to create pyproject.toml from pyproject.toml.in | |
# cmake -B configure_python --preset=minimal -DKAHYPAR_SETUP_PYTHON=On -DKAHYPAR_TBB_DIR=$TBB_INSTALL_DIR -DKAHYPAR_DISABLE_HWLOC=On | |
# rm -rf configure_python | |
# pipx run cibuildwheel --output-dir wheels | |
# - uses: actions/upload-artifact@v4 | |
# with: | |
# name: cibw-wheels-macos | |
# path: ./wheels/*.whl | |
package_windows: | |
name: Python Package Windows | |
runs-on: windows-latest | |
env: | |
CI_ACTIVE : 1 | |
TBB_INSTALL_DIR: "C:/Users/AppData/Local/Temp/tbb_build" | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v5 | |
- uses: msys2/setup-msys2@v2 | |
with: | |
install: git make | |
- name: Install Boost and TBB | |
shell: msys2 {0} | |
run: | | |
pacman --noconfirm -S mingw-w64-x86_64-boost mingw-w64-x86_64-tbb mingw-w64-x86_64-cmake mingw-w64-x86_64-gcc | |
- name: Put MSYS2_MinGW64 on Path | |
run: | | |
echo "${{ runner.temp }}/msys64/mingw64" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append | |
- name: Build Python Wheels | |
env: | |
CIBW_ARCHS_WINDOWS: x86_64 AMD64 | |
CIBW_BUILD: cp3*-windows* | |
run: | | |
# run cmake to create pyproject.toml from pyproject.toml.in | |
cmake -B configure_python --preset=minimal -DKAHYPAR_SETUP_PYTHON=On -DKAHYPAR_TBB_DIR=$TBB_INSTALL_DIR -DKAHYPAR_DISABLE_HWLOC=Off | |
rm -rf configure_python | |
pipx run cibuildwheel --output-dir wheels | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: cibw-wheels-windows | |
path: ./wheels/*.whl | |
# build_sdist: | |
# name: Build Source Distribution | |
# runs-on: ubuntu-24.04 | |
# steps: | |
# - uses: actions/checkout@v4 | |
# - name: Install Dependencies | |
# run: | | |
# sudo apt-get install libtbb-dev libhwloc-dev libboost-program-options-dev | |
# - name: Build sdist | |
# run: | | |
# # run cmake to create pyproject.toml from pyproject.toml.in | |
# cmake -B configure_python --preset=minimal -DKAHYPAR_SETUP_PYTHON=On -DKAHYPAR_TBB_DIR=$TBB_INSTALL_DIR -DKAHYPAR_DISABLE_HWLOC=Off | |
# rm -rf configure_python | |
# pipx run build --sdist | |
# - uses: actions/upload-artifact@v4 | |
# with: | |
# name: cibw-sdist | |
# path: dist/*.tar.gz | |
# upload_pypi: | |
# needs: [package_linux_x86, package_linux_arm_1, package_linux_arm_2, package_macos, build_sdist] | |
# runs-on: ubuntu-24.04 | |
# environment: pypi | |
# permissions: | |
# id-token: write | |
# steps: | |
# - name: Collect Python Packages | |
# uses: actions/download-artifact@v4 | |
# with: | |
# # unpacks all CIBW artifacts into dist/ | |
# pattern: cibw-* | |
# path: dist | |
# merge-multiple: true | |
# - name: Publish to PyPI | |
# uses: pypa/gh-action-pypi-publish@release/v1 |