Skip to content

ARROW-17953: [Archery] Add archery docker info command#14345

Merged
pitrou merged 7 commits into
apache:masterfrom
raulcd:ARROW-17953
Oct 18, 2022
Merged

ARROW-17953: [Archery] Add archery docker info command#14345
pitrou merged 7 commits into
apache:masterfrom
raulcd:ARROW-17953

Conversation

@raulcd

@raulcd raulcd commented Oct 7, 2022

Copy link
Copy Markdown
Member

Some usage examples:

$ archery docker info debian-go-cgo --show command
Service debian-go-cgo docker compose config:
 - command: /bin/bash -c "
  /arrow/ci/scripts/go_build.sh /arrow &&
  /arrow/ci/scripts/go_test.sh /arrow"

or

$ archery docker info debian-go-cgo
Service debian-go-cgo docker compose config:
 - image: ${REPO}:${ARCH}-debian-${DEBIAN}-go-${GO}-cgo
 - build
  - context: .
  - dockerfile: ci/docker/debian-go-cgo.dockerfile
  - cache_from: ['${REPO}:${ARCH}-debian-${DEBIAN}-go-${GO}-cgo']
  - args
   - base: ${REPO}:${ARCH}-debian-${DEBIAN}-go-${GO}
 - shm_size: 2G
 - volumes: ['.:/arrow:delegated', '${DOCKER_VOLUME_PREFIX}debian-ccache:/ccache:delegated']
 - environment
  - ARROW_GO_TESTCGO: 1
 - command: /bin/bash -c "
  /arrow/ci/scripts/go_build.sh /arrow &&
  /arrow/ci/scripts/go_test.sh /arrow"

or

$ archery docker info ubuntu-cuda-cpp --show environment
Service ubuntu-cuda-cpp docker compose config:
 - environment
  - ARROW_BUILD_STATIC: OFF
  - ARROW_CUDA: ON
  - ARROW_GANDIVA: OFF
  - ARROW_GCS: OFF
  - ARROW_ORC: OFF
  - ARROW_S3: OFF
  - ARROW_SUBSTRAIT: OFF
  - ARROW_WITH_OPENTELEMETRY: OFF
  - CCACHE_COMPILERCHECK: content
  - CCACHE_COMPRESS: 1
  - CCACHE_COMPRESSLEVEL: 6
  - CCACHE_MAXSIZE: 1G
  - CCACHE_DIR: /ccache

edited only the commands to reflect the change of the command --show

@github-actions

github-actions Bot commented Oct 7, 2022

Copy link
Copy Markdown

@assignUser assignUser left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cool idea! Looks good overall, As a minor thing I am not sure if I like the addition of - for structuring the output or if it just adds noise and only indentation would be cleaner?

Comment thread dev/archery/archery/docker/cli.py Outdated
Comment thread dev/archery/archery/docker/cli.py Outdated
Comment thread dev/archery/archery/docker/core.py Outdated
Comment thread dev/archery/archery/docker/cli.py Outdated
raulcd and others added 3 commits October 13, 2022 13:04
@raulcd

raulcd commented Oct 13, 2022

Copy link
Copy Markdown
Member Author

@pitrou @assignUser this should be ready to review again. Thanks for the feedback!

@kou kou left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1

@assignUser assignUser left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested it locally, looks good 👍

@pitrou

pitrou commented Oct 17, 2022

Copy link
Copy Markdown
Member

I've noticed something:

$ archery docker info conda-cpp
Service conda-cpp docker-compose config:
  image: ${REPO}:${ARCH}-conda-cpp
  build
    context: .
    dockerfile: ci/docker/conda-cpp.dockerfile
    cache_from: ['${REPO}:${ARCH}-conda-cpp']
    args
      repo: ${REPO}
      arch: ${ARCH}
  shm_size: 2G
  ulimits
    core: ${ULIMIT_CORE}
  environment
    ARROW_BUILD_BENCHMARKS: ON
    ARROW_BUILD_EXAMPLES: ON
    ARROW_ENABLE_TIMING_TESTS: None
    ARROW_EXTRA_ERROR_CONTEXT: ON
    ARROW_MIMALLOC: ON
    ARROW_USE_LD_GOLD: ON
    ARROW_USE_PRECOMPILED_HEADERS: ON
    BUILD_DOCS_PYTHON: ON
    CCACHE_COMPILERCHECK: content
    CCACHE_COMPRESS: 1
    CCACHE_COMPRESSLEVEL: 6
    CCACHE_MAXSIZE: 1G
    CCACHE_DIR: /ccache
    AWS_ACCESS_KEY_ID: None
    AWS_SECRET_ACCESS_KEY: None
    SCCACHE_BUCKET: None
    SCCACHE_S3_KEY_PREFIX: ${SCCACHE_S3_KEY_PREFIX:-sccache}
  volumes: ['.:/arrow:delegated', '${DOCKER_VOLUME_PREFIX}conda-ccache:/ccache:delegated']
  command: [' /arrow/ci/scripts/cpp_build.sh /arrow /build && /arrow/ci/scripts/cpp_test.sh /arrow /build']

Printing ARROW_ENABLE_TIMING_TESTS: None is a bit unfortunate. What happens actually is that the value is inherited from the calling shell's environment. So perhaps print out <inherited> or something.

…r info command is None as it would be inherited from shell environment values
@assignUser

Copy link
Copy Markdown
Member

+1

Service conda-cpp docker-compose config:
  image: ${REPO}:${ARCH}-conda-cpp
  build
    context: .
    dockerfile: ci/docker/conda-cpp.dockerfile
    cache_from: ['${REPO}:${ARCH}-conda-cpp']
    args
      repo: ${REPO}
      arch: ${ARCH}
  shm_size: 2G
  ulimits
    core: ${ULIMIT_CORE}
  environment
    ARROW_BUILD_BENCHMARKS: ON
    ARROW_BUILD_EXAMPLES: ON
    ARROW_ENABLE_TIMING_TESTS: <inherited>
    ARROW_EXTRA_ERROR_CONTEXT: ON
    ARROW_MIMALLOC: ON
    ARROW_USE_LD_GOLD: ON
    ARROW_USE_PRECOMPILED_HEADERS: ON
    BUILD_DOCS_PYTHON: ON
    CCACHE_COMPILERCHECK: content
    CCACHE_COMPRESS: 1
    CCACHE_COMPRESSLEVEL: 6
    CCACHE_MAXSIZE: 1G
    CCACHE_DIR: /ccache
    AWS_ACCESS_KEY_ID: <inherited>
    AWS_SECRET_ACCESS_KEY: <inherited>
    SCCACHE_BUCKET: <inherited>
    SCCACHE_S3_KEY_PREFIX: ${SCCACHE_S3_KEY_PREFIX:-sccache}
  volumes: ['.:/arrow:delegated', '${DOCKER_VOLUME_PREFIX}conda-ccache:/ccache:delegated']
  command: [' /arrow/ci/scripts/cpp_build.sh /arrow /build && /arrow/ci/scripts/cpp_test.sh /arrow /build']

@pitrou pitrou left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @raulcd !

@pitrou pitrou merged commit c33bb50 into apache:master Oct 18, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants