| # 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. |
| |
| # Usage |
| # ----- |
| # |
| # The docker compose file is parametrized using environment variables, the |
| # defaults are set in .env file. |
| # |
| # Example: |
| # $ ARCH=arm64v8 docker compose build debian-go |
| # $ ARCH=arm64v8 docker compose run debian-go |
| |
| services: |
| debian: |
| # Usage: |
| # docker compose build debian |
| # docker compose run debian |
| image: ${REPO}:${ARCH}-debian-${DEBIAN}-${GO} |
| build: |
| context: . |
| dockerfile: ci/docker/debian-${DEBIAN}.dockerfile |
| cache_from: |
| - ${REPO}:${ARCH}-debian-${DEBIAN}-${GO} |
| args: |
| arch: ${ARCH} |
| go: ${GO} |
| shm_size: &shm-size 2G |
| volumes: &debian-volumes |
| - .:/arrow-go:delegated |
| command: &go-command | |
| /bin/bash -c " \ |
| git config --global --add safe.directory /arrow-go && \ |
| /arrow-go/ci/scripts/build.sh /arrow-go && \ |
| /arrow-go/ci/scripts/test.sh /arrow-go" |
| debian-cgo: |
| # Usage: |
| # docker compose build debian-cgo |
| # docker compose run debian-cgo |
| image: ${REPO}:${ARCH}-debian-${DEBIAN}-${GO}-cgo |
| build: |
| context: . |
| dockerfile: ci/docker/debian-cgo.dockerfile |
| cache_from: |
| - ${REPO}:${ARCH}-debian-${DEBIAN}-${GO}-cgo |
| args: |
| base: ${REPO}:${ARCH}-debian-${DEBIAN}-${GO} |
| shm_size: *shm-size |
| volumes: *debian-volumes |
| environment: |
| ARROW_GO_TESTCGO: "1" |
| command: *go-command |
| debian-cgo-python: |
| # Usage: |
| # docker compose build debian |
| # docker compose build debian-cgo-python |
| # docker compose run debian-cgo-python |
| image: ${REPO}:${ARCH}-debian-${GO}-cgo-python |
| build: |
| context: . |
| dockerfile: ci/docker/debian-cgo-python.dockerfile |
| cache_from: |
| - ${REPO}:${ARCH}-debian-${GO}-cgo-python |
| args: |
| base: ${REPO}:${ARCH}-debian-${DEBIAN}-${GO} |
| shm_size: *shm-size |
| volumes: *debian-volumes |
| command: &cgo-python-command | |
| /bin/bash -c " \ |
| git config --global --add safe.directory /arrow-go && \ |
| /arrow-go/ci/scripts/cgo_python_test.sh /arrow-go" |