Skip to content

Conversation

@pitrou
Copy link
Member

@pitrou pitrou commented Aug 6, 2024

Rationale for this change

The docker-compose utility is legacy, while the Docker CLI client now includes a compose subcommand that attempts to be compatible with docker-compose YAML files.

What changes are included in this PR?

  1. Call docker compose by default when archery docker is invoked, not docker-compose
  2. Add an option to switch back to docker-compose, in case of Docker CLI client is too old and doesn't support some options (such as --file).

Are these changes tested?

Yes, on CI.

Are there any user-facing changes?

No.

@github-actions
Copy link

github-actions bot commented Aug 6, 2024

Thanks for opening a pull request!

If this is not a minor PR. Could you open an issue for this pull request on GitHub? https://github.com/apache/arrow/issues/new/choose

Opening GitHub issues ahead of time contributes to the Openness of the Apache Arrow project.

Then could you also rename the pull request title in the following format?

GH-${GITHUB_ISSUE_ID}: [${COMPONENT}] ${SUMMARY}

or

MINOR: [${COMPONENT}] ${SUMMARY}

In the case of PARQUET issues on JIRA the title also supports:

PARQUET-${JIRA_ISSUE_ID}: [${COMPONENT}] ${SUMMARY}

See also:

@github-actions github-actions bot added the awaiting review Awaiting review label Aug 6, 2024
@pitrou pitrou force-pushed the minor-docker-compose branch from 54e70a6 to fc2f4bb Compare August 6, 2024 14:23
@pitrou
Copy link
Member Author

pitrou commented Aug 6, 2024

@github-actions crossbow submit wheel3.8* cuda

@github-actions
Copy link

github-actions bot commented Aug 6, 2024

Unable to match any tasks for `*wheel*3.8*`
The Archery job run can be found at: https://github.com/apache/arrow/actions/runs/10268418578

@pitrou pitrou force-pushed the minor-docker-compose branch from fc2f4bb to 53ced2e Compare August 6, 2024 14:28
@pitrou
Copy link
Member Author

pitrou commented Aug 6, 2024

@github-actions crossbow submit wheelcp38* cuda

@github-actions

This comment was marked as outdated.

@pitrou pitrou force-pushed the minor-docker-compose branch from 53ced2e to c9584b9 Compare August 6, 2024 14:38
@pitrou
Copy link
Member Author

pitrou commented Aug 6, 2024

@github-actions crossbow submit wheelcp38* test-cuda*

@github-actions

This comment was marked as outdated.

@pitrou pitrou force-pushed the minor-docker-compose branch from c9584b9 to 600642d Compare August 6, 2024 15:03
@pitrou
Copy link
Member Author

pitrou commented Aug 6, 2024

@github-actions crossbow submit wheelcp38* test-cuda* jars skyhook arm

@github-actions

This comment was marked as outdated.

@pitrou
Copy link
Member Author

pitrou commented Aug 6, 2024

@github-actions crossbow submit skyhook wheel-windows*

@github-actions

This comment was marked as outdated.

@pitrou
Copy link
Member Author

pitrou commented Aug 6, 2024

This draft PR disables ARCHERY_USE_DOCKER_CLI in a lot of places but we might actually want to keep wherever possible if it improves build caching (I have no idea). cc @kou @kszucs

Copy link
Member

@kou kou left a comment

Choose a reason for hiding this comment

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

This draft PR disables ARCHERY_USE_DOCKER_CLI in a lot of places

I'm OK with this for now. We can enables it by follow-up tasks.

but we might actually want to keep wherever possible if it improves build caching (I have no idea).

I think that we need to use docker compose instead of docker-compose in all places eventually whether it improves build caching or not. Because docker-compose is obsolete.

@github-actions github-actions bot added awaiting changes Awaiting changes and removed awaiting review Awaiting review labels Aug 7, 2024
@pitrou pitrou force-pushed the minor-docker-compose branch from 60bcc37 to ad96a65 Compare August 7, 2024 10:31
@github-actions github-actions bot added awaiting change review Awaiting change review and removed awaiting changes Awaiting changes labels Aug 7, 2024
@pitrou
Copy link
Member Author

pitrou commented Aug 7, 2024

@github-actions crossbow submit skyhook cuda wheel-windows* jars arm64

@github-actions

This comment was marked as outdated.

@pitrou
Copy link
Member Author

pitrou commented Aug 7, 2024

@github-actions crossbow submit test-cuda*

@github-actions
Copy link

github-actions bot commented Aug 7, 2024

Revision: 84fee26f736646b68373324f7f50d9d52298c9ea

Submitted crossbow builds: ursacomputing/crossbow @ actions-362b27ff33

Task Status
test-cuda-cpp GitHub Actions
test-cuda-python GitHub Actions

@pitrou
Copy link
Member Author

pitrou commented Aug 7, 2024

@kou How about we deprecate ARCHERY_USE_DOCKER_CLI in another issue/PR? This doesn't seem necessary right now.

@pitrou
Copy link
Member Author

pitrou commented Aug 7, 2024

@github-actions crossbow submit -g nightly-tests

@pitrou
Copy link
Member Author

pitrou commented Aug 7, 2024

@github-actions crossbow submit -g nightly-packaging

@github-actions
Copy link

github-actions bot commented Aug 7, 2024

Revision: 2ac225a

Submitted crossbow builds: ursacomputing/crossbow @ actions-bd221565a1

Task Status
example-cpp-minimal-build-static GitHub Actions
example-cpp-minimal-build-static-system-dependency GitHub Actions
example-cpp-tutorial GitHub Actions
example-python-minimal-build-fedora-conda GitHub Actions
example-python-minimal-build-ubuntu-venv GitHub Actions
test-alpine-linux-cpp GitHub Actions
test-build-cpp-fuzz GitHub Actions
test-build-vcpkg-win GitHub Actions
test-conda-cpp GitHub Actions
test-conda-cpp-valgrind GitHub Actions
test-conda-python-3.10 GitHub Actions
test-conda-python-3.10-cython2 GitHub Actions
test-conda-python-3.10-hdfs-2.9.2 GitHub Actions
test-conda-python-3.10-hdfs-3.2.1 GitHub Actions
test-conda-python-3.10-pandas-latest-numpy-1.26 GitHub Actions
test-conda-python-3.10-pandas-latest-numpy-latest GitHub Actions
test-conda-python-3.10-pandas-nightly-numpy-nightly GitHub Actions
test-conda-python-3.10-substrait GitHub Actions
test-conda-python-3.11 GitHub Actions
test-conda-python-3.11-dask-latest GitHub Actions
test-conda-python-3.11-dask-upstream_devel GitHub Actions
test-conda-python-3.11-hypothesis GitHub Actions
test-conda-python-3.11-pandas-upstream_devel-numpy-nightly GitHub Actions
test-conda-python-3.11-spark-master GitHub Actions
test-conda-python-3.12 GitHub Actions
test-conda-python-3.12-cpython-debug GitHub Actions
test-conda-python-3.8 GitHub Actions
test-conda-python-3.8-pandas-1.0-numpy-1.19 GitHub Actions
test-conda-python-3.9 GitHub Actions
test-conda-python-3.9-pandas-latest-numpy-latest GitHub Actions
test-conda-python-emscripten GitHub Actions
test-cuda-cpp GitHub Actions
test-cuda-python GitHub Actions
test-debian-12-cpp-amd64 GitHub Actions
test-debian-12-cpp-i386 GitHub Actions
test-debian-12-docs GitHub Actions
test-debian-12-go-1.21 GitHub Actions
test-debian-12-go-1.22 GitHub Actions
test-debian-12-python-3-amd64 GitHub Actions
test-debian-12-python-3-i386 GitHub Actions
test-debian-c-glib GitHub Actions
test-debian-ruby GitHub Actions
test-fedora-39-cpp GitHub Actions
test-fedora-39-python-3 GitHub Actions
test-r-arrow-backwards-compatibility GitHub Actions
test-r-clang-sanitizer GitHub Actions
test-r-depsource-bundled Azure
test-r-depsource-system GitHub Actions
test-r-dev-duckdb GitHub Actions
test-r-devdocs GitHub Actions
test-r-gcc-11 GitHub Actions
test-r-gcc-12 GitHub Actions
test-r-install-local GitHub Actions
test-r-install-local-minsizerel GitHub Actions
test-r-linux-as-cran GitHub Actions
test-r-linux-rchk GitHub Actions
test-r-linux-valgrind GitHub Actions
test-r-minimal-build Azure
test-r-offline-maximal GitHub Actions
test-r-offline-minimal Azure
test-r-rhub-debian-gcc-devel-lto-latest Azure
test-r-rhub-debian-gcc-release-custom-ccache Azure
test-r-rhub-ubuntu-release-latest Azure
test-r-rocker-r-ver-latest Azure
test-r-rstudio-r-base-4.1-opensuse155 Azure
test-r-rstudio-r-base-4.2-focal Azure
test-r-ubuntu-22.04 GitHub Actions
test-r-versions GitHub Actions
test-skyhook-integration GitHub Actions
test-ubuntu-20.04-cpp GitHub Actions
test-ubuntu-20.04-cpp-bundled GitHub Actions
test-ubuntu-20.04-cpp-minimal-with-formats GitHub Actions
test-ubuntu-20.04-cpp-thread-sanitizer GitHub Actions
test-ubuntu-20.04-python-3 GitHub Actions
test-ubuntu-22.04-cpp GitHub Actions
test-ubuntu-22.04-cpp-20 GitHub Actions
test-ubuntu-22.04-cpp-emscripten GitHub Actions
test-ubuntu-22.04-cpp-no-threading GitHub Actions
test-ubuntu-22.04-python-3 GitHub Actions
test-ubuntu-24.04-cpp GitHub Actions
test-ubuntu-24.04-cpp-gcc-13-bundled GitHub Actions
test-ubuntu-24.04-cpp-gcc-14 GitHub Actions
test-ubuntu-c-glib GitHub Actions
test-ubuntu-r-sanitizer GitHub Actions
test-ubuntu-ruby GitHub Actions

@github-actions
Copy link

github-actions bot commented Aug 7, 2024

Revision: 2ac225a

Submitted crossbow builds: ursacomputing/crossbow @ actions-2515f0589f

Task Status
almalinux-8-amd64 GitHub Actions
almalinux-8-arm64 GitHub Actions
almalinux-9-amd64 GitHub Actions
almalinux-9-arm64 GitHub Actions
amazon-linux-2023-amd64 GitHub Actions
amazon-linux-2023-arm64 GitHub Actions
centos-7-amd64 GitHub Actions
centos-8-stream-amd64 GitHub Actions
centos-8-stream-arm64 GitHub Actions
centos-9-stream-amd64 GitHub Actions
centos-9-stream-arm64 GitHub Actions
conan-maximum GitHub Actions
conan-minimum GitHub Actions
conda-clean Azure
conda-osx-x64-cpu-py3 Azure
debian-bookworm-amd64 GitHub Actions
debian-bookworm-arm64 GitHub Actions
debian-trixie-amd64 GitHub Actions
debian-trixie-arm64 GitHub Actions
homebrew-cpp GitHub Actions
java-jars GitHub Actions
nuget GitHub Actions
python-sdist GitHub Actions
r-binary-packages GitHub Actions
ubuntu-focal-amd64 GitHub Actions
ubuntu-focal-arm64 GitHub Actions
ubuntu-jammy-amd64 GitHub Actions
ubuntu-jammy-arm64 GitHub Actions
ubuntu-noble-amd64 GitHub Actions
ubuntu-noble-arm64 GitHub Actions
wheel-macos-big-sur-cp310-arm64 GitHub Actions
wheel-macos-big-sur-cp311-arm64 GitHub Actions
wheel-macos-big-sur-cp312-arm64 GitHub Actions
wheel-macos-big-sur-cp38-arm64 GitHub Actions
wheel-macos-big-sur-cp39-arm64 GitHub Actions
wheel-macos-catalina-cp310-amd64 GitHub Actions
wheel-macos-catalina-cp311-amd64 GitHub Actions
wheel-macos-catalina-cp312-amd64 GitHub Actions
wheel-macos-catalina-cp38-amd64 GitHub Actions
wheel-macos-catalina-cp39-amd64 GitHub Actions
wheel-manylinux-2-28-cp310-amd64 GitHub Actions
wheel-manylinux-2-28-cp310-arm64 GitHub Actions
wheel-manylinux-2-28-cp311-amd64 GitHub Actions
wheel-manylinux-2-28-cp311-arm64 GitHub Actions
wheel-manylinux-2-28-cp312-amd64 GitHub Actions
wheel-manylinux-2-28-cp312-arm64 GitHub Actions
wheel-manylinux-2-28-cp38-amd64 GitHub Actions
wheel-manylinux-2-28-cp38-arm64 GitHub Actions
wheel-manylinux-2-28-cp39-amd64 GitHub Actions
wheel-manylinux-2-28-cp39-arm64 GitHub Actions
wheel-manylinux-2014-cp310-amd64 GitHub Actions
wheel-manylinux-2014-cp310-arm64 GitHub Actions
wheel-manylinux-2014-cp311-amd64 GitHub Actions
wheel-manylinux-2014-cp311-arm64 GitHub Actions
wheel-manylinux-2014-cp312-amd64 GitHub Actions
wheel-manylinux-2014-cp312-arm64 GitHub Actions
wheel-manylinux-2014-cp38-amd64 GitHub Actions
wheel-manylinux-2014-cp38-arm64 GitHub Actions
wheel-manylinux-2014-cp39-amd64 GitHub Actions
wheel-manylinux-2014-cp39-arm64 GitHub Actions
wheel-windows-cp310-amd64 GitHub Actions
wheel-windows-cp311-amd64 GitHub Actions
wheel-windows-cp312-amd64 GitHub Actions
wheel-windows-cp38-amd64 GitHub Actions
wheel-windows-cp39-amd64 GitHub Actions

@pitrou
Copy link
Member Author

pitrou commented Aug 7, 2024

@github-actions crossbow submit hdfs

@github-actions
Copy link

github-actions bot commented Aug 7, 2024

Revision: 02cdd0a

Submitted crossbow builds: ursacomputing/crossbow @ actions-e169e51a80

Task Status
test-conda-python-3.10-hdfs-2.9.2 GitHub Actions
test-conda-python-3.10-hdfs-3.2.1 GitHub Actions

@pitrou pitrou changed the title DRAFT: [CI] Use docker compose instead of docker-compose GH-43608: [CI][Archery] Prefer docker compose over docker-compose Aug 7, 2024
@github-actions
Copy link

github-actions bot commented Aug 7, 2024

⚠️ GitHub issue #43608 has been automatically assigned in GitHub to PR creator.

@pitrou pitrou marked this pull request as ready for review August 7, 2024 15:52
@pitrou
Copy link
Member Author

pitrou commented Aug 7, 2024

The remaining CI failures look unrelated to these changes.

Copy link
Member

@kou kou left a comment

Choose a reason for hiding this comment

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

+1

How about we deprecate ARCHERY_USE_DOCKER_CLI in another issue/PR?

I'm OK with this approach.

@conbench-apache-arrow
Copy link

After merging your PR, Conbench analyzed the 4 benchmarking runs that have been run so far on merge-commit e54ad41.

There were no benchmark performance regressions. 🎉

The full Conbench report has more details. It also includes information about 7 possible false positives for unstable benchmarks that are known to sometimes produce them.

kou pushed a commit that referenced this pull request Aug 22, 2024
On the Cuda self-hosted runners, we need to use legacy `docker-compose` on all Archery Docker invocations, including the "image push" step. This is because the Docker client version on those runners is too old to accept the `--file` option to the `compose` subcommand.

This is a followup to #43586 . The image push step cannot easily be verified in a PR, hence this second PR.

Authored-by: Antoine Pitrou <antoine@python.org>
Signed-off-by: Sutou Kouhei <kou@clear-code.com>
QuietCraftsmanship pushed a commit to QuietCraftsmanship/arrow that referenced this pull request Jul 7, 2025
On the Cuda self-hosted runners, we need to use legacy `docker-compose` on all Archery Docker invocations, including the "image push" step. This is because the Docker client version on those runners is too old to accept the `--file` option to the `compose` subcommand.

This is a followup to apache/arrow#43586 . The image push step cannot easily be verified in a PR, hence this second PR.

Authored-by: Antoine Pitrou <antoine@python.org>
Signed-off-by: Sutou Kouhei <kou@clear-code.com>
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.

2 participants