blob: e407e6ef72f87e53b6d5a7546c890297f1e740c5 [file] [log] [blame]
# 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.
version: '3.5'
services:
# we can further improve the caching mechanism for go rust and js via
# early adding the dependencies explicitly (cargo.toml etc) to prevent
# reinstalling the dependencies on each modification
######################### Language Containers ###############################
c_glib:
image: arrow:c_glib
build:
context: .
dockerfile: c_glib/Dockerfile
cpp:
image: arrow:cpp
shm_size: 2G
build:
context: .
dockerfile: cpp/Dockerfile
go:
image: arrow:go
build:
context: .
dockerfile: go/Dockerfile
java:
image: arrow:java
build:
context: .
dockerfile: java/Dockerfile
js:
image: arrow:js
build:
context: .
dockerfile: js/Dockerfile
python:
image: arrow:python-${PYTHON_VERSION:-3.6}
shm_size: 2G
build:
context: .
dockerfile: python/Dockerfile
args:
PYTHON_VERSION: ${PYTHON_VERSION:-3.6}
#TODO(kszucs): R
rust:
image: arrow:rust
build:
context: .
dockerfile: rust/Dockerfile
######################### Integration Tests #################################
# impala:
# image: cpcloud86/impala:java8-1
# ports:
# - "21050"
# hostname: impala
hdfs-namenode:
image: gelog/hadoop
shm_size: 2G
ports:
- "9000:9000"
- "50070:50070"
command: hdfs namenode
hostname: hdfs-namenode
hdfs-datanode:
image: gelog/hadoop
command: hdfs datanode
ports:
# The host port is randomly assigned by Docker, to allow scaling
# to multiple DataNodes on the same host
- "50075"
links:
- hdfs-namenode:hdfs-namenode
hdfs-integration:
links:
- hdfs-namenode:hdfs-namenode
- hdfs-datanode:hdfs-datanode
environment:
- ARROW_HDFS_TEST_HOST=hdfs-namenode
- ARROW_HDFS_TEST_PORT=9000
- ARROW_HDFS_TEST_USER=root
build:
context: .
dockerfile: integration/hdfs/Dockerfile
lint:
image: arrow:lint
shm_size: 2G
build:
context: .
dockerfile: dev/lint/Dockerfile
volumes:
- .:/arrow:delegated
clang-format:
image: arrow:lint
shm_size: 2G
command: '/run_clang_format.sh'
build:
context: .
dockerfile: dev/lint/Dockerfile
volumes:
- .:/arrow:delegated
# TODO(kszucs): dask-integration
# TODO(kszucs): hive-integration
# TODO(kszucs): spark-integration
######################### Documentation #####################################
# TODO(kszucs): site
# TODO(kszucs): apidoc