1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
|
[build-system]
requires = ["maturin>=1.2,<2.0"]
build-backend = "maturin"
[tool.maturin]
python-source = "pysrc"
features = ["pyo3/extension-module"]
[project]
name = "pycddl"
requires-python = ">=3.8"
dynamic = [
"authors",
"description",
"license",
"readme",
"version"
]
[tool.cibuildwheel.linux]
before-all = "curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain stable -y"
environment = 'PATH="$PATH:$HOME/.cargo/bin"'
# Skip musl for now just because it slows development down so much (makes CI
# take minimum of 25 minutes): https://gitlab.com/tahoe-lafs/pycddl/-/issues/8.
# Skip i686 because who cares.
skip = "*i686 *musl* pp37* cp37*"
build = "pp3*-manylinux_x86_64 cp3*_x86_64"
test-command = """\
set -e
pip install -r {project}/requirements-dev.txt
pytest {project}/ -k 'not memory_usage'
pytest {project}/ -k 'memory_usage'
"""
[tool.cibuildwheel.macos]
before-all = """curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain stable -y
rustup target add aarch64-apple-darwin
rustup target add x86_64-apple-darwin
rustc --version
"""
environment = 'PATH="$HOME/.cargo/bin":$PATH'
skip = "pp37* cp37*"
build = "cp3*universal2"
test-skip = "*_x86_64 *_universal2:x86_64"
test-command = """\
set -e
pip install -r {project}/requirements-dev.txt
pytest {project}/ -k 'not memory_usage'
pytest {project}/ -k 'memory_usage'
"""
[tool.cibuildwheel.windows]
# 32-bit builds require downloading matching Rust which I haven't figured out
# yet...
skip = "*win32 pp37* cp37*"
build = "cp3*"
test-command = """\
pip install -r {project}/requirements-dev.txt
pytest {project}/ -k 'not memory_usage'
"""
|