mirror of
https://github.com/slsdetectorgroup/aare.git
synced 2025-04-30 18:30:03 +02:00
Building wheels and uploading to pypi (#160)
Still to be resolved in another PR: - Consistent versioning across compiled code, conda and pypi
This commit is contained in:
parent
a59e9656be
commit
84aafa75f6
64
.github/workflows/build_wheel.yml
vendored
Normal file
64
.github/workflows/build_wheel.yml
vendored
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
name: Build wheel
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
pull_request:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
release:
|
||||||
|
types:
|
||||||
|
- published
|
||||||
|
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build_wheels:
|
||||||
|
name: Build wheels on ${{ matrix.os }}
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
os: [ubuntu-latest,]
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Build wheels
|
||||||
|
run: pipx run cibuildwheel==2.23.0
|
||||||
|
|
||||||
|
- uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: cibw-wheels-${{ matrix.os }}-${{ strategy.job-index }}
|
||||||
|
path: ./wheelhouse/*.whl
|
||||||
|
|
||||||
|
build_sdist:
|
||||||
|
name: Build source distribution
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
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: [build_wheels, build_sdist]
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
environment: pypi
|
||||||
|
permissions:
|
||||||
|
id-token: write
|
||||||
|
if: github.event_name == 'release' && github.event.action == 'published'
|
||||||
|
# or, alternatively, upload to PyPI on every tag starting with 'v' (remove on: release above to use this)
|
||||||
|
# if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v')
|
||||||
|
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
|
3
.gitignore
vendored
3
.gitignore
vendored
@ -17,7 +17,8 @@ Testing/
|
|||||||
ctbDict.cpp
|
ctbDict.cpp
|
||||||
ctbDict.h
|
ctbDict.h
|
||||||
|
|
||||||
|
wheelhouse/
|
||||||
|
dist/
|
||||||
|
|
||||||
*.pyc
|
*.pyc
|
||||||
*/__pycache__/*
|
*/__pycache__/*
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
cmake_minimum_required(VERSION 3.14)
|
cmake_minimum_required(VERSION 3.15)
|
||||||
|
|
||||||
project(aare
|
project(aare
|
||||||
VERSION 1.0.0
|
VERSION 1.0.0
|
||||||
|
@ -4,19 +4,30 @@ build-backend = "scikit_build_core.build"
|
|||||||
|
|
||||||
[project]
|
[project]
|
||||||
name = "aare"
|
name = "aare"
|
||||||
version = "2025.4.1"
|
version = "2025.4.2"
|
||||||
|
requires-python = ">=3.11"
|
||||||
|
dependencies = [
|
||||||
|
"numpy",
|
||||||
|
"matplotlib",
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
|
[tool.cibuildwheel]
|
||||||
|
|
||||||
|
build = "cp{311,312,313}-manylinux_x86_64"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
[tool.scikit-build]
|
[tool.scikit-build]
|
||||||
cmake.verbose = true
|
build.verbose = true
|
||||||
|
cmake.build-type = "Release"
|
||||||
|
install.components = ["python"]
|
||||||
|
|
||||||
[tool.scikit-build.cmake.define]
|
[tool.scikit-build.cmake.define]
|
||||||
AARE_PYTHON_BINDINGS = "ON"
|
AARE_PYTHON_BINDINGS = "ON"
|
||||||
AARE_SYSTEM_LIBRARIES = "ON"
|
|
||||||
AARE_INSTALL_PYTHONEXT = "ON"
|
AARE_INSTALL_PYTHONEXT = "ON"
|
||||||
|
|
||||||
|
|
||||||
[tool.pytest.ini_options]
|
[tool.pytest.ini_options]
|
||||||
markers = [
|
markers = [
|
||||||
"files: marks tests that need additional data (deselect with '-m \"not files\"')",
|
"files: marks tests that need additional data (deselect with '-m \"not files\"')",
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
|
|
||||||
find_package (Python 3.10 COMPONENTS Interpreter Development REQUIRED)
|
find_package (Python 3.10 COMPONENTS Interpreter Development.Module REQUIRED)
|
||||||
set(PYBIND11_FINDPYTHON ON) # Needed for RH8
|
set(PYBIND11_FINDPYTHON ON) # Needed for RH8
|
||||||
|
|
||||||
# Download or find pybind11 depending on configuration
|
# Download or find pybind11 depending on configuration
|
||||||
@ -59,10 +59,16 @@ endforeach(FILE ${PYTHON_EXAMPLES})
|
|||||||
|
|
||||||
|
|
||||||
if(AARE_INSTALL_PYTHONEXT)
|
if(AARE_INSTALL_PYTHONEXT)
|
||||||
install(TARGETS _aare
|
install(
|
||||||
|
TARGETS _aare
|
||||||
EXPORT "${TARGETS_EXPORT_NAME}"
|
EXPORT "${TARGETS_EXPORT_NAME}"
|
||||||
LIBRARY DESTINATION aare
|
LIBRARY DESTINATION aare
|
||||||
|
COMPONENT python
|
||||||
)
|
)
|
||||||
|
|
||||||
install(FILES ${PYTHON_FILES} DESTINATION aare)
|
install(
|
||||||
|
FILES ${PYTHON_FILES}
|
||||||
|
DESTINATION aare
|
||||||
|
COMPONENT python
|
||||||
|
)
|
||||||
endif()
|
endif()
|
Loading…
x
Reference in New Issue
Block a user