You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@arrow.apache.org by am...@apache.org on 2022/05/13 07:50:50 UTC
[arrow] branch master updated: ARROW-16402: [R][CI] Create new Archery Tasks
This is an automated email from the ASF dual-hosted git repository.
amolina 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 d9346927a0 ARROW-16402: [R][CI] Create new Archery Tasks
d9346927a0 is described below
commit d9346927a0cb79c53464c43c9f991907fca63f10
Author: Jacob Wujciak-Jens <ja...@wujciak.de>
AuthorDate: Fri May 13 09:50:39 2022 +0200
ARROW-16402: [R][CI] Create new Archery Tasks
This PR introduces two new archery docker task for future use in building the R nightlies in Crossbow.
Closes #13131 from assignUser/ARROW-16402
Lead-authored-by: Jacob Wujciak-Jens <ja...@wujciak.de>
Co-authored-by: Neal Richardson <ne...@gmail.com>
Signed-off-by: Alessandro Molina <am...@turbogears.org>
---
ci/docker/centos-7-cpp.dockerfile | 37 ++++++++++++++++++++++++
docker-compose.yml | 60 +++++++++++++++++++++++++++++++++++++++
2 files changed, 97 insertions(+)
diff --git a/ci/docker/centos-7-cpp.dockerfile b/ci/docker/centos-7-cpp.dockerfile
new file mode 100644
index 0000000000..945534900e
--- /dev/null
+++ b/ci/docker/centos-7-cpp.dockerfile
@@ -0,0 +1,37 @@
+# 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.
+
+FROM centos:centos7
+
+RUN yum install -y \
+ diffutils \
+ gcc-c++ \
+ libcurl-devel \
+ make \
+ openssl-devel \
+ wget \
+ which
+
+# yum install cmake version is too old
+
+ARG cmake=3.23.1
+RUN wget -nv -O - https://github.com/Kitware/CMake/releases/download/v${cmake}/cmake-${cmake}-Linux-x86_64.tar.gz | tar -xzf - -C /opt
+ENV PATH=/opt/cmake-${cmake}-Linux-x86_64/bin:$PATH
+ENV CC=/usr/bin/gcc
+ENV CXX=/usr/bin/g++
+ENV EXTRA_CMAKE_FLAGS="-DCMAKE_C_COMPILER=$CC -DCMAKE_CXX_COMPILER=$CXX"
+ENV ARROW_R_DEV=TRUE
diff --git a/docker-compose.yml b/docker-compose.yml
index f8b9dacfa2..406d310cbb 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -96,6 +96,7 @@ x-hierarchy:
# descendant images if any. Archery checks that all node has a corresponding
# service entry, so any new image/service must be listed here.
- almalinux-verify-rc
+ - centos-cpp-static
- conda:
- conda-cpp:
- conda-integration
@@ -128,6 +129,7 @@ x-hierarchy:
- oracle-java
- python-sdist
- ubuntu-cpp:
+ - ubuntu-cpp-static
- ubuntu-c-glib:
- ubuntu-ruby
- ubuntu-lint
@@ -353,7 +355,65 @@ services:
- .:/arrow:delegated
- ${DOCKER_VOLUME_PREFIX}ubuntu-ccache:/ccache:delegated
command: *cpp-command
+
+ ubuntu-cpp-static:
+ # Usage:
+ # docker-compose build ubuntu-cpp-static
+ # docker-compose run --rm ubuntu-cpp-static
+ # Parameters:
+ # ARCH: amd64, arm64v8, s390x, ...
+ # UBUNTU: 18.04, 20.04
+ image: ${REPO}:${ARCH}-ubuntu-${UBUNTU}-cpp-static
+ build:
+ context: .
+ dockerfile: ci/docker/ubuntu-${UBUNTU}-cpp.dockerfile
+ cache_from:
+ - ${REPO}:${ARCH}-ubuntu-${UBUNTU}-cpp-static
+ args:
+ arch: ${ARCH}
+ base: "${ARCH}/ubuntu:${UBUNTU}"
+ clang_tools: ${CLANG_TOOLS}
+ llvm: ${LLVM}
+ gcc_version: ${GCC_VERSION}
+ shm_size: *shm-size
+ cap_add:
+ - SYS_ADMIN
+ devices:
+ - "/dev/fuse:/dev/fuse"
+ security_opt:
+ - apparmor:unconfined
+ ulimits: *ulimits
+ environment:
+ <<: *ccache
+ ARROW_HOME: /arrow
+ ARROW_DEPENDENCY_SOURCE: BUNDLED
+ LIBARROW_MINIMAL: "false"
+ ARROW_MIMALLOC: "ON"
+ volumes: *ubuntu-volumes
+ command: /bin/bash -c "
+ cd /arrow && r/inst/build_arrow_static.sh"
+ centos-cpp-static:
+ image: ${REPO}:centos-7-cpp-static
+ build:
+ context: .
+ dockerfile: ci/docker/centos-7-cpp.dockerfile
+ cache_from:
+ - ${REPO}:centos-7-cpp-static
+ shm_size: *shm-size
+ volumes:
+ - .:/arrow:delegated
+ environment:
+ <<: *ccache
+ ARROW_HOME: /arrow
+ ARROW_DEPENDENCY_SOURCE: BUNDLED
+ LIBARROW_MINIMAL: "false"
+ ARROW_MIMALLOC: "ON"
+ command: >
+ /bin/bash -c "
+ if grep -q -i -e 'centos.* 7' /etc/os-release; then export ARROW_S3=OFF ARROW_MIMALLOC=OFF; fi &&
+ cd /arrow && r/inst/build_arrow_static.sh"
+
ubuntu-cpp-bundled:
# Arrow build with BUNDLED dependencies
image: ${REPO}:${ARCH}-ubuntu-${UBUNTU}-cpp-minimal