You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@arrow.apache.org by we...@apache.org on 2017/07/29 16:01:51 UTC
[arrow-dist] branch master updated: ARROW-1269: Windows build
scripts for creating pyarrow wheels and uploading to BinTray (#1)
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 <we...@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" <co...@arrow.apache.org>'].