This is an automated email from the ASF dual-hosted git repository. wesm pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/arrow-dist.git
The following commit(s) were added to refs/heads/master by this push: new b16940a ARROW-1269: Windows build scripts for creating pyarrow wheels and uploading to BinTray (#1) b16940a is described below commit b16940a6335689a28f8337ec4c62abb7874259d5 Author: Wes McKinney <w...@users.noreply.github.com> AuthorDate: Sat Jul 29 12:01:49 2017 -0400 ARROW-1269: Windows build scripts for creating pyarrow wheels and uploading to BinTray (#1) * Windows build scripts for creating pyarrow wheels and uploading them to BinTray * Add gflags to toolchain, do not build Arrow unit tests * Add no-op travis.yml. Bump build to include ARROW-1275. Pin CMake version --- .travis.yml | 38 ++++++++++++++ appveyor.yml | 63 +++++++++++++++++++++++ scripts/python-wheels-windows.bat | 102 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 203 insertions(+) diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..22a640d --- /dev/null +++ b/.travis.yml @@ -0,0 +1,38 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +sudo: required +dist: trusty +addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - gcc-4.9 # Needed for C++11 + - g++-4.9 # Needed for C++11 + - gdb + - ccache + - valgrind + - libboost-dev + - libboost-filesystem-dev + - libboost-system-dev + - libjemalloc-dev + - gtk-doc-tools + - autoconf-archive + - libgirepository1.0-dev + +matrix: diff --git a/appveyor.yml b/appveyor.yml new file mode 100644 index 0000000..c8f7c4d --- /dev/null +++ b/appveyor.yml @@ -0,0 +1,63 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +# Operating system (build VM template) +os: Visual Studio 2015 + +environment: + matrix: + - GENERATOR: Visual Studio 14 2015 Win64 + NUMPY: "1.13" + PYTHON: "3.5" + ARCH: "64" + - GENERATOR: Visual Studio 14 2015 Win64 + NUMPY: "1.13" + PYTHON: "3.6" + ARCH: "64" + MSVC_DEFAULT_OPTIONS: ON + BOOST_ROOT: C:\Libraries\boost_1_63_0 + BOOST_LIBRARYDIR: C:\Libraries\boost_1_63_0\lib64-msvc-14.0 + pyarrow_version: 0.5.0 + pyarrow_commit: dca5d96c7a029c079183e2903db425e486e2deb9 + parquet_commit: cbdd9560e45187a4b3b39728986a2ef0d5ed07db + +init: + - set MINICONDA=C:\Miniconda35-x64 + - set PATH=%MINICONDA%;%MINICONDA%/Scripts;%MINICONDA%/Library/bin;%PATH% + +build_script: + - cmd: mkdir wheels + - call scripts\python-wheels-windows.bat + +after_build: + xcopy C:\apache-arrow\python\dist\* wheels\ + +artifacts: + - path: wheels\*.whl + +deploy: + - provider: BinTray + username: wesm + api_key: + secure: T6rUTOWbyxuculsGAsKosSLEdQnY+B6Vlp7bWXdA7zLYgBFfJ7sA73JOigjA6jW+ + subject: wesm + repo: pyarrow-windows-wheels + package: pyarrow + version: "%pyarrow_version%" + publish: true + public: true + override: true diff --git a/scripts/python-wheels-windows.bat b/scripts/python-wheels-windows.bat new file mode 100644 index 0000000..704e565 --- /dev/null +++ b/scripts/python-wheels-windows.bat @@ -0,0 +1,102 @@ +@rem Licensed to the Apache Software Foundation (ASF) under one +@rem or more contributor license agreements. See the NOTICE file +@rem distributed with this work for additional information +@rem regarding copyright ownership. The ASF licenses this file +@rem to you under the Apache License, Version 2.0 (the +@rem "License"); you may not use this file except in compliance +@rem with the License. You may obtain a copy of the License at +@rem +@rem http://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, +@rem software distributed under the License is distributed on an +@rem "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +@rem KIND, either express or implied. See the License for the +@rem specific language governing permissions and limitations +@rem under the License. + +@echo on + +conda update --yes --quiet conda + +conda create -n arrow -q -y python=%PYTHON% ^ + six pytest setuptools numpy=%NUMPY% pandas cython + +set ARROW_CMAKE_VERSION=3.8.0 + +conda install -n arrow -q -y -c conda-forge ^ + git flatbuffers rapidjson ^ + cmake=%ARROW_CMAKE_VERSION% ^ + boost-cpp thrift-cpp ^ + gflags snappy zlib brotli zstd lz4-c + +call activate arrow + +set ARROW_SRC=C:\apache-arrow +mkdir %ARROW_SRC% +git clone https://github.com/apache/arrow.git %ARROW_SRC% || exit /B +pushd %ARROW_SRC% + +@rem fix up symlinks +git config core.symlinks true +git reset --hard || exit /B +git checkout %pyarrow_commit% || exit /B + +popd + +set ARROW_HOME=%CONDA_PREFIX%\Library +set PARQUET_HOME=%CONDA_PREFIX%\Library +set ARROW_BUILD_TOOLCHAIN=%CONDA_PREFIX%\Library +set PARQUET_BUILD_TOOLCHAIN=%CONDA_PREFIX%\Library + +@rem Build and test Arrow C++ libraries +mkdir %ARROW_SRC%\cpp\build +pushd %ARROW_SRC%\cpp\build + +cmake -G "%GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%CONDA_PREFIX%\Library ^ + -DARROW_BOOST_USE_SHARED=OFF ^ + -DARROW_BUILD_TESTS=OFF ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DARROW_CXXFLAGS="/MP" ^ + -DARROW_PYTHON=ON ^ + .. || exit /B +cmake --build . --target INSTALL --config Release || exit /B + +@rem Needed so python-test.exe works +set PYTHONPATH=%CONDA_PREFIX%\Lib;%CONDA_PREFIX%\Lib\site-packages;%CONDA_PREFIX%\python35.zip;%CONDA_PREFIX%\DLLs;%CONDA_PREFIX% +ctest -VV || exit /B +popd + +@rem Build parquet-cpp +git clone https://github.com/apache/parquet-cpp.git || exit /B +pushd parquet-cpp +git checkout %parquet_commit% +popd + +mkdir parquet-cpp\build +pushd parquet-cpp\build + +cmake -G "%GENERATOR%" ^ + -DCMAKE_INSTALL_PREFIX=%PARQUET_HOME% ^ + -DCMAKE_BUILD_TYPE=Release ^ + -DPARQUET_BOOST_USE_SHARED=off ^ + -DPARQUET_BUILD_TESTS=off .. || exit /B +cmake --build . --target INSTALL --config Release || exit /B +popd + +@rem Build and import pyarrow +set PYTHONPATH= + +pushd %ARROW_SRC%\python +python setup.py build_ext --with-parquet --bundle-arrow-cpp bdist_wheel || exit /B +popd + +@rem test the wheel +call deactivate +conda create -n wheel-test -q -y python=%PYTHON% ^ + numpy=%NUMPY% pandas +call activate wheel-test + +pip install --no-index --find-links=%ARROW_SRC%\python\dist\ pyarrow +python -c "import pyarrow; import pyarrow.parquet" -- To stop receiving notification emails like this one, please contact ['"commits@arrow.apache.org" <commits@arrow.apache.org>'].