diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 1c5721857..c056ec3cb 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -49,7 +49,7 @@ jobs: rust: strategy: matrix: - name: ["clippy", "docs", "test"] + name: ["clippy", "docs", "test", "build"] name: "${{ matrix.name }}" runs-on: ubuntu-latest @@ -112,6 +112,11 @@ jobs: shell: bash run: sudo apt-get update && sudo apt-get install -y libgeos-dev + - name: Build + if: matrix.name == 'build' + run: | + cargo build --workspace --all-targets --all-features + - name: Clippy if: matrix.name == 'clippy' run: | diff --git a/ci/scripts/wheels-build-linux.sh b/ci/scripts/wheels-build-linux.sh index 00014956d..d7caa8b13 100755 --- a/ci/scripts/wheels-build-linux.sh +++ b/ci/scripts/wheels-build-linux.sh @@ -48,7 +48,7 @@ BEFORE_ALL_MANYLINUX="yum install -y curl zip unzip tar clang perl" # add quite a bit of complexity but could save time if we build wheels for linux frequently. # The native and Rust builds are cached on each image such that compile work is effectively # cached between Python versions (just not between invocations of this script). -export CIBW_ENVIRONMENT_LINUX="VCPKG_ROOT=/vcpkg VCPKG_REF=$VCPKG_REF VCPKG_DEFAULT_TRIPLET=$VCPKG_DEFAULT_TRIPLET CMAKE_TOOLCHAIN_FILE=/vcpkg/scripts/buildsystems/vcpkg.cmake PKG_CONFIG_PATH=/vcpkg/installed/$VCPKG_DEFAULT_TRIPLET/lib/pkgconfig LD_LIBRARY_PATH=/vcpkg/installed/$VCPKG_DEFAULT_TRIPLET/lib MATURIN_PEP517_ARGS='--features s2geography'" +export CIBW_ENVIRONMENT_LINUX="VCPKG_ROOT=/vcpkg VCPKG_REF=$VCPKG_REF VCPKG_DEFAULT_TRIPLET=$VCPKG_DEFAULT_TRIPLET CMAKE_TOOLCHAIN_FILE=/vcpkg/scripts/buildsystems/vcpkg.cmake PKG_CONFIG_PATH=/vcpkg/installed/$VCPKG_DEFAULT_TRIPLET/lib/pkgconfig LD_LIBRARY_PATH=/vcpkg/installed/$VCPKG_DEFAULT_TRIPLET/lib MATURIN_PEP517_ARGS='--features s2geography,pyo3/extension-module'" export CIBW_BEFORE_ALL="$BEFORE_ALL_MANYLINUX && git clone https://github.com/microsoft/vcpkg.git /vcpkg && bash {package}/../../ci/scripts/wheels-bootstrap-vcpkg.sh" pushd "${SEDONADB_DIR}" diff --git a/ci/scripts/wheels-build-macos.sh b/ci/scripts/wheels-build-macos.sh index 54315cec1..460e91c2c 100755 --- a/ci/scripts/wheels-build-macos.sh +++ b/ci/scripts/wheels-build-macos.sh @@ -43,7 +43,7 @@ source ./wheels-bootstrap-vcpkg.sh export CIBW_REPAIR_WHEEL_COMMAND_MACOS="DYLD_LIBRARY_PATH=$VCPKG_INSTALL_NAME_DIR delocate-listdeps {wheel} && DYLD_LIBRARY_PATH=$VCPKG_INSTALL_NAME_DIR delocate-wheel --require-archs {delocate_archs} -w {dest_dir} {wheel}" # Pass on environment variables specifically for the build -export CIBW_ENVIRONMENT_MACOS="$CIBW_ENVIRONMENT_MACOS _PYTHON_HOST_PLATFORM=macosx-12.0-arm64 MACOSX_DEPLOYMENT_TARGET=12.0 CMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} MATURIN_PEP517_ARGS='--features s2geography'" +export CIBW_ENVIRONMENT_MACOS="$CIBW_ENVIRONMENT_MACOS _PYTHON_HOST_PLATFORM=macosx-12.0-arm64 MACOSX_DEPLOYMENT_TARGET=12.0 CMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} MATURIN_PEP517_ARGS='--features s2geography,pyo3/extension-module'" pushd "${SEDONADB_DIR}" python -m cibuildwheel --output-dir python/$1/dist python/$1 diff --git a/python/sedonadb/Cargo.toml b/python/sedonadb/Cargo.toml index 9c3f096d3..1ddb4c065 100644 --- a/python/sedonadb/Cargo.toml +++ b/python/sedonadb/Cargo.toml @@ -38,7 +38,7 @@ datafusion = { workspace = true } datafusion-common = { workspace = true } datafusion-ffi = { workspace = true } futures = { workspace = true } -pyo3 = { version = "0.25.1", features = ["extension-module"] } +pyo3 = { version = "0.25.1" } sedona = { path = "../../rust/sedona" } sedona-adbc = { path = "../../rust/sedona-adbc" } sedona-geoparquet = { path = "../../rust/sedona-geoparquet" }