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 2018/01/22 19:13:25 UTC
[arrow] branch master updated: ARROW-1580: [Python] Instructions
for setting up nightly builds on Linux
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.git
The following commit(s) were added to refs/heads/master by this push:
new 422efd9 ARROW-1580: [Python] Instructions for setting up nightly builds on Linux
422efd9 is described below
commit 422efd9635ea6f249adec7e1fda4834f6ac46cc4
Author: Phillip Cloud <cp...@gmail.com>
AuthorDate: Mon Jan 22 14:13:19 2018 -0500
ARROW-1580: [Python] Instructions for setting up nightly builds on Linux
Author: Phillip Cloud <cp...@gmail.com>
Closes #1489 from cpcloud/ARROW-1580 and squashes the following commits:
ff815678 [Phillip Cloud] Move to sphinx
700d2c5e [Phillip Cloud] Remove link to nightlies
9fbe9ac9 [Phillip Cloud] Add build artifact location
cb9f2a5a [Phillip Cloud] [Python] Instructions for setting up nightly builds on Linux
---
python/doc/source/development.rst | 73 +++++++++++++++++++++++++++++++++++++++
1 file changed, 73 insertions(+)
diff --git a/python/doc/source/development.rst b/python/doc/source/development.rst
index 01844fa..af93d8d 100644
--- a/python/doc/source/development.rst
+++ b/python/doc/source/development.rst
@@ -331,3 +331,76 @@ Getting ``python-test.exe`` to run is a bit tricky because your
set PYTHONPATH=%CONDA_ENV%\Lib;%CONDA_ENV%\Lib\site-packages;%CONDA_ENV%\python35.zip;%CONDA_ENV%\DLLs;%CONDA_ENV%
Now ``python-test.exe`` or simply ``ctest`` (to run all tests) should work.
+
+Nightly Builds of `arrow-cpp`, `parquet-cpp`, and `pyarrow` for Linux
+---------------------------------------------------------------------
+
+Nightly builds of Linux conda packages for ``arrow-cpp``, ``parquet-cpp``, and
+``pyarrow`` can be automated using an open source tool called `scourge
+<https://github.com/cpcloud/scourge>`_.
+
+``scourge`` is new, so please report any feature requests or bugs to the
+`scourge issue tracker <https://github.com/cpcloud/scourge/issues>`_.
+
+To get scourge you need to clone the source and install it in development mode.
+
+To setup your own nightly builds:
+
+#. Clone and install scourge
+#. Create a script that calls scourge
+#. Run that script as a cronjob once per day
+
+First, clone and install scourge (you also need to `install docker
+<https://docs.docker.com/engine/installation>`):
+
+
+.. code:: sh
+
+ git clone https://github.com/cpcloud/scourge
+ cd scourge
+ python setup.py develop
+ which scourge
+
+Second, create a shell script that calls scourge:
+
+.. code:: sh
+
+ function build() {
+ # make sure we got a working directory
+ workingdir="${1}"
+ [ -z "${workingdir}" ] && echo "Must provide a working directory" && exit 1
+ scourge="/path/to/scourge"
+
+ # get the hash of master for building parquet
+ PARQUET_ARROW_VERSION="$("${scourge}" sha apache/arrow master)"
+
+ # setup the build for each package
+ "${scourge}" init arrow-cpp@master parquet-cpp@master pyarrow@master
+
+ # build the packages with some constraints (the -c arguments)
+ # -e sets environment variables on a per package basis
+ "${scourge}" build \
+ -e parquet-cpp:PARQUET_ARROW_VERSION="${PARQUET_ARROW_VERSION}" \
+ -c "python >=2.7,<3|>=3.5" \
+ -c "numpy >= 1.11" \
+ -c "r-base >=3.3.2"
+ }
+
+ workingdir="$(date +'%Y%m%d_%H_%M_%S')"
+ mkdir -p "${workingdir}"
+ build "${workingdir}" > "${workingdir}"/scourge.log 2>&1
+
+Third, run that script as a cronjob once per day:
+
+.. code:: sh
+
+ crontab -e
+
+then in the scratch file that's opened:
+
+.. code:: sh
+
+ @daily /path/to/the/above/script.sh
+
+The build artifacts (conda packages) will be located in
+``${workingdir}/artifacts/linux-64``.
--
To stop receiving notification emails like this one, please contact
wesm@apache.org.