This is an automated email from the ASF dual-hosted git repository.

uwe 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 3db5797  ARROW-4790: [Python/Packaging] Update manylinux docker image 
in crossbow task
3db5797 is described below

commit 3db5797171616f1387ef8ce8ed1183e96e68dcdf
Author: Krisztián Szűcs <[email protected]>
AuthorDate: Mon Mar 11 11:28:31 2019 +0100

    ARROW-4790: [Python/Packaging] Update manylinux docker image in crossbow 
task
    
    Centralize the docker command into docker-compose. Now it's enough to 
change the docker tag in a single place.
    
    crossbow task: 
[kszucs/crossbow/build-447](https://github.com/kszucs/crossbow/branches/all?utf8=%E2%9C%93&query=build-447)
    
    Author: Krisztián Szűcs <[email protected]>
    
    Closes #3830 from kszucs/ARROW-4790 and squashes the following commits:
    
    5cf85c9c <Krisztián Szűcs> comments
    89da1791 <Krisztián Szűcs> run manylinux image from docker-compose
---
 .travis.yml                              |  3 +--
 ci/travis_script_manylinux.sh            |  7 ++-----
 dev/tasks/python-wheels/travis.linux.yml | 12 ++++++------
 docker-compose.yml                       | 24 ++++++++++++++++++++++++
 4 files changed, 33 insertions(+), 13 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index afddeea..de9832a 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -226,9 +226,8 @@ matrix:
     language: cpp
     env:
     - PYTHON_VERSIONS="2.7,32 3.6,16"
-    - MANYLINUX1_IMAGE="quay.io/xhochy/arrow_manylinux1_x86_64_base:ARROW-4778"
     before_script:
-    - if [ $ARROW_CI_PYTHON_AFFECTED == "1" ]; then docker pull 
$MANYLINUX1_IMAGE; fi
+    - if [ $ARROW_CI_PYTHON_AFFECTED == "1" ]; then docker-compose pull 
python-manylinux1; fi
     script:
     - if [ $ARROW_CI_PYTHON_AFFECTED == "1" ]; then 
$TRAVIS_BUILD_DIR/ci/travis_script_manylinux.sh; fi
   - name: "Java w/ OpenJDK 8"
diff --git a/ci/travis_script_manylinux.sh b/ci/travis_script_manylinux.sh
index 9f05f26..fe6c108 100755
--- a/ci/travis_script_manylinux.sh
+++ b/ci/travis_script_manylinux.sh
@@ -47,14 +47,11 @@ for PYTHON_TUPLE in ${PYTHON_VERSIONS}; do
   sudo rm -rf dist
 
   # build the wheels
-  docker run --shm-size=2g --rm \
+  docker-compose run \
     -e PYARROW_PARALLEL=3 \
     -e PYTHON_VERSION=$PYTHON_VERSION \
     -e UNICODE_WIDTH=$UNICODE_WIDTH \
-    -v $PWD:/io \
-    -v $PWD/../../:/arrow \
-    $MANYLINUX1_IMAGE \
-    /io/build_arrow.sh
+    python-manylinux1
 
   # create a testing conda environment
   CONDA_ENV_DIR=$TRAVIS_BUILD_DIR/pyarrow-test-$PYTHON_VERSION
diff --git a/dev/tasks/python-wheels/travis.linux.yml 
b/dev/tasks/python-wheels/travis.linux.yml
index 240c523..64b9e7e 100644
--- a/dev/tasks/python-wheels/travis.linux.yml
+++ b/dev/tasks/python-wheels/travis.linux.yml
@@ -38,15 +38,15 @@ script:
   - mkdir -p dist
 
   # build wheel
-  - pushd arrow/python/manylinux1
-  - docker run --shm-size=2g
+  - pushd arrow
+  # don't attempt to build it, because the base image by pypa is updated
+  # regularly and would cause undeterministic builds
+  - docker-compose pull python-manylinux1
+  - docker-compose run
       -e SETUPTOOLS_SCM_PRETEND_VERSION={{ arrow.no_rc_version }}
       -e PYTHON_VERSION="{{ python_version }}"
       -e UNICODE_WIDTH="{{ unicode_width }}"
-      -v $PWD:/io
-      -v $PWD/../../:/arrow
-      quay.io/xhochy/arrow_manylinux1_x86_64_base:llvm-7-manylinux1
-      /io/build_arrow.sh
+      python-manylinux1
   - popd
 
   # test on multiple distributions
diff --git a/docker-compose.yml b/docker-compose.yml
index 926e3b5..5581061 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -232,6 +232,30 @@ services:
       dockerfile: docs/Dockerfile
     volumes: *ubuntu-volumes
 
+  ######################### Package Builder ###################################
+
+  python-manylinux1:
+    # Usage:
+    #   either build:
+    #     $ docker-compose build python-manylinux1
+    #   or pull:
+    #     $ docker-compose pull python-manylinux1
+    #   an then run:
+    #     $ docker-compose run -e PYTHON_VERSION=3.7 python-manylinux1
+    image: quay.io/xhochy/arrow_manylinux1_x86_64_base:ARROW-4778
+    build:
+      context: .
+      dockerfile: python/manylinux1/Dockerfile-x86_64_base
+    shm_size: 2G
+    environment:
+      PYARROW_PARALLEL: 3
+      PYTHON_VERSION: ${PYTHON_VERSION:-3.6}
+      UNICODE_WIDTH: ${UNICODE_WIDTH:-16}
+    volumes:
+      - .:/arrow:delegated
+      - ./python/manylinux1:/io:delegated
+    command: /io/build_arrow.sh
+
   ######################### Integration Tests #################################
 
   # impala:

Reply via email to