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>'].