Skip to content

fix: windows build (uint16_t -> unsigned int) #79

fix: windows build (uint16_t -> unsigned int)

fix: windows build (uint16_t -> unsigned int) #79

Workflow file for this run

name: Build wheel on linux
on: [push]
env:
CIBW_BUILD_VERBOSITY: 1
CIBW_BUILD: "cp38-* cp39-* cp310-* cp311-* cp312-* cp313-*"
CIBW_TEST_REQUIRES: pytest
CIBW_TEST_COMMAND: "pytest {project}/tests"
CIBW_TEST_SOURCES: "tests"
CIBW_BEFORE_BUILD: |
set -eux && \
curl -L -O https://github.com/libffi/libffi/archive/v3.4.6.tar.gz && \
tar zxf v3.4.6.tar.gz && cd libffi-3.4.6 && \
((command -v apk && apk add libtool) || true) && \
./autogen.sh && \
./configure --without-gcc-arch --disable-docs --with-pic --enable-shared=no && \
make install && \
cd .. && \
rm -rf libffi-3.4.6
jobs:
build_wheels:
name: Build wheels on ubuntu-latest
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
# Used to host cibuildwheel
- uses: actions/setup-python@v5
- name: Install requirements
run: python -m pip install -r requirements.txt
- name: Install libffi-dev
run: sudo apt-get update && sudo apt-get install -y build-essential libssl-dev libffi-dev python3-dev cmake
- name: Install cibuildwheel
run: python -m pip install cibuildwheel
- name: Build lib
run: python setup.py build_lib
- name: Build cdef
run: python generate_cffi_definitions.py
- name: Build wheels
run: python -m cibuildwheel --output-dir wheelhouse
env:
# Override pyproject.toml settings if needed
CIBW_BUILD_VERBOSITY: 1
# Ensure CFFI can find the static library during compilation
CIBW_ENVIRONMENT: "SMPT_LIB_DIR=./lib SMPT_INCLUDE_DIR=./smpt/ScienceMode_Library/include"
- uses: actions/upload-artifact@v4
with:
path: wheelhouse/*.whl
upload_pypi:
name: Upload to PyPI (prod)
needs: [build_wheels]
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags')
runs-on: ubuntu-latest
steps:
- uses: actions/download-artifact@v4
with:
name: artifact
path: dist
- uses: pypa/gh-action-pypi-publish@v1.5.0
with:
user: __token__
password: ${{ secrets.PYPI_API_TOKEN }}