Files
CoolProp/.github/workflows/python_cibuildwheel.yml
Ian Bell 1f428fd935 Try to fix the python 3.13 builds on windows
Remove the string in interface. It seems like the string here should be left untyped to allow auto conversion of strings
2024-12-30 15:21:58 -05:00

85 lines
2.5 KiB
YAML

name: Python build one single wheel
on:
workflow_call:
inputs:
python-version:
required: true
type: string
os:
required: true
type: string
arch:
required: true
type: string
jobs:
build:
#name: py${{ inputs.python-version }}-${{ inputs.os }}-${{ inputs.arch }}
runs-on: ${{ inputs.os }}-latest
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: 3.13.x
- name: Install Python dependencies
run: |
python -m pip install --upgrade pip
python -m pip install requests packaging
- name: Figure out the TestPyPi/PyPi Version
shell: bash
run: |
if [[ "$GITHUB_REF" == *"refs/tags"* ]]; then
python dev/extract_version.py --pypi --replace-setup-py
else
python dev/extract_version.py --replace-setup-py
fi;
- name: Set up QEMU
if: ${{ runner.os == 'Linux' }}
uses: docker/setup-qemu-action@v3.2.0
with:
platforms: all
- name: Force expansion of boost headers
run: |
mkdir b
cd b
cmake ..
- name: Build and test wheels
uses: pypa/cibuildwheel@v2.21.3
env:
MACOSX_DEPLOYMENT_TARGET: 10.9
CIBW_ENVIRONMENT_MACOS: MACOSX_DEPLOYMENT_TARGET=10.9 SDKROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk
CIBW_BEFORE_BUILD: >
pip install setuptools wheel Cython requests jinja2 pyyaml
CIBW_ENVIRONMENT_LINUX: COOLPROP_CMAKE=default,NATIVE
CIBW_BUILD: cp${{ inputs.python-version }}-*
CIBW_ARCHS_MACOS: ${{ inputs.arch }} # x86_64 arm64 # universal2 is redundant
CIBW_ARCHS_WINDOWS: ${{ inputs.arch }} # AMD64 x86 # ARM64 creates problems with msgpack-c
CIBW_ARCHS_LINUX: ${{ inputs.arch }} # i686 x86_64 aarch64 ppc64le s390x
CIBW_TEST_COMMAND: python -c "import CoolProp"
CIBW_MANYLINUX_X86_64_IMAGE: manylinux2014
CIBW_MANYLINUX_I686_IMAGE: manylinux2014
CIBW_MANYLINUX_AARCH64_IMAGE: manylinux2014
CIBW_SKIP: "pp*"
CIBW_TEST_SKIP: "*-macosx_arm64 *-win_arm64"
with:
package-dir: ./wrappers/Python/
output-dir: Python
- name: Upload Files
uses: actions/upload-artifact@v4
with:
name: Python-${{ inputs.os }}-${{ inputs.python-version }}-${{ inputs.arch }}
path: |
./Python/*.whl