test pypi deployment #28
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 | |
build_sdist: | |
name: Build source distribution | |
runs-on: ubuntu-24.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Build sdist | |
run: pipx run build --sdist | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: cibw-sdist | |
path: dist/*.tar.gz | |
upload_pypi: | |
needs: [package_linux_x86, build_sdist] # package_linux_arm_1, package_linux_arm_2, package_macos, build_sdist] | |
runs-on: ubuntu-24.04 | |
environment: testpypi | |
permissions: | |
id-token: write | |
# if: github.event_name == 'release' && github.event.action == 'published' | |
steps: | |
- uses: actions/download-artifact@v4 | |
with: | |
# unpacks all CIBW artifacts into dist/ | |
pattern: cibw-* | |
path: dist | |
merge-multiple: true | |
- uses: pypa/gh-action-pypi-publish@release/v1 | |
with: | |
repository-url: https://test.pypi.org/legacy/ |