Skip to content

GH-38183: [CI][Python] Use pipx to install GCS testbench - #43852

Merged
kou merged 19 commits into
apache:mainfrom
pitrou:gh38183-pipx
Aug 29, 2024
Merged

GH-38183: [CI][Python] Use pipx to install GCS testbench#43852
kou merged 19 commits into
apache:mainfrom
pitrou:gh38183-pipx

Conversation

@pitrou

@pitroupitrou commented Aug 27, 2024

Copy link
Copy Markdown
Member

Rationale for this change

Installing the GCS testbench using the same Python that's being used to test PyArrow is fragile: some testbench versions may not be compatible, or there could be conflicts among the dependencies of the respective libraries.

What changes are included in this PR?

Use pipx to install the GCS testbench in a separate, controlled environment, using an appropriate Python version.

Are these changes tested?

Yes, by CI.

Are there any user-facing changes?

No.

@github-actions

Copy link
Copy Markdown

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

@pitrou

Copy link
Copy Markdown
MemberAuthor

@github-actions crossbow submit -g cpp

@pitrou

Copy link
Copy Markdown
MemberAuthor

@github-actions crossbow submit -g python -g wheel

@github-actions

This comment was marked as outdated.

@github-actions

This comment was marked as outdated.

@pitrou

Copy link
Copy Markdown
MemberAuthor

@github-actions crossbow submit wheel-windows-cp310-amd64

@github-actions

This comment was marked as outdated.

@pitrou
pitrouforce-pushed the gh38183-pipx branch 4 times, most recently from 4d3e1cb to 119363cCompareAugust 27, 2024 17:57
@pitrou

Copy link
Copy Markdown
MemberAuthor

@github-actions crossbow submit wheel-windows-cp310-amd64 wheel-windows-cp313-amd64

@pitrou

Copy link
Copy Markdown
MemberAuthor

@github-actions crossbow submit -g python -g cpp

@github-actions

This comment was marked as outdated.

@github-actions

This comment was marked as outdated.

@pitrou

Copy link
Copy Markdown
MemberAuthor

@github-actions crossbow submit wheel-windows*

@github-actions

Copy link
Copy Markdown

Revision: 1da4ed8

Submitted crossbow builds: ursacomputing/crossbow @ actions-7287ca77dd

TaskStatus
wheel-macos-big-sur-cp310-arm64GitHub Actions
wheel-macos-big-sur-cp311-arm64GitHub Actions
wheel-macos-big-sur-cp312-arm64GitHub Actions
wheel-macos-big-sur-cp313-arm64GitHub Actions
wheel-macos-big-sur-cp38-arm64GitHub Actions
wheel-macos-big-sur-cp39-arm64GitHub Actions
wheel-macos-catalina-cp310-amd64GitHub Actions
wheel-macos-catalina-cp311-amd64GitHub Actions
wheel-macos-catalina-cp312-amd64GitHub Actions
wheel-macos-catalina-cp313-amd64GitHub Actions
wheel-macos-catalina-cp38-amd64GitHub Actions
wheel-macos-catalina-cp39-amd64GitHub Actions
wheel-manylinux-2-28-cp310-amd64GitHub Actions
wheel-manylinux-2-28-cp310-arm64GitHub Actions
wheel-manylinux-2-28-cp311-amd64GitHub Actions
wheel-manylinux-2-28-cp311-arm64GitHub Actions
wheel-manylinux-2-28-cp312-amd64GitHub Actions
wheel-manylinux-2-28-cp312-arm64GitHub Actions
wheel-manylinux-2-28-cp313-amd64GitHub Actions
wheel-manylinux-2-28-cp313-arm64GitHub Actions
wheel-manylinux-2-28-cp38-amd64GitHub Actions
wheel-manylinux-2-28-cp38-arm64GitHub Actions
wheel-manylinux-2-28-cp39-amd64GitHub Actions
wheel-manylinux-2-28-cp39-arm64GitHub Actions
wheel-manylinux-2014-cp310-amd64GitHub Actions
wheel-manylinux-2014-cp310-arm64GitHub Actions
wheel-manylinux-2014-cp311-amd64GitHub Actions
wheel-manylinux-2014-cp311-arm64GitHub Actions
wheel-manylinux-2014-cp312-amd64GitHub Actions
wheel-manylinux-2014-cp312-arm64GitHub Actions
wheel-manylinux-2014-cp313-amd64GitHub Actions
wheel-manylinux-2014-cp313-arm64GitHub Actions
wheel-manylinux-2014-cp38-amd64GitHub Actions
wheel-manylinux-2014-cp38-arm64GitHub Actions
wheel-manylinux-2014-cp39-amd64GitHub Actions
wheel-manylinux-2014-cp39-arm64GitHub Actions
wheel-windows-cp310-amd64GitHub Actions
wheel-windows-cp311-amd64GitHub Actions
wheel-windows-cp312-amd64GitHub Actions
wheel-windows-cp313-amd64GitHub Actions
wheel-windows-cp38-amd64GitHub Actions
wheel-windows-cp39-amd64GitHub Actions

@pitrou

Copy link
Copy Markdown
MemberAuthor

@github-actions crossbow submit wheel-windows*

@github-actions

This comment was marked as outdated.

@pitrou

Copy link
Copy Markdown
MemberAuthor

@github-actions crossbow submit wheel-windows*

@github-actions

Copy link
Copy Markdown

Revision: 55ece7b

Submitted crossbow builds: ursacomputing/crossbow @ actions-4c656a1090

TaskStatus
wheel-windows-cp310-amd64GitHub Actions
wheel-windows-cp311-amd64GitHub Actions
wheel-windows-cp312-amd64GitHub Actions
wheel-windows-cp313-amd64GitHub Actions
wheel-windows-cp38-amd64GitHub Actions
wheel-windows-cp39-amd64GitHub Actions

@pitrou

Copy link
Copy Markdown
MemberAuthor

@github-actions crossbow submit -g python -g cpp

@pitrou

Copy link
Copy Markdown
MemberAuthor

@kou Could you take a look at this PR?

@github-actions

Copy link
Copy Markdown

Revision: 55ece7b

Submitted crossbow builds: ursacomputing/crossbow @ actions-2df46cee67

TaskStatus
example-python-minimal-build-fedora-condaGitHub Actions
example-python-minimal-build-ubuntu-venvGitHub Actions
test-alpine-linux-cppGitHub Actions
test-build-cpp-fuzzGitHub Actions
test-conda-cppGitHub Actions
test-conda-cpp-valgrindGitHub Actions
test-conda-python-3.10GitHub Actions
test-conda-python-3.10-cython2GitHub Actions
test-conda-python-3.10-hdfs-2.9.2GitHub Actions
test-conda-python-3.10-hdfs-3.2.1GitHub Actions
test-conda-python-3.10-pandas-latest-numpy-1.26GitHub Actions
test-conda-python-3.10-pandas-latest-numpy-latestGitHub Actions
test-conda-python-3.10-pandas-nightly-numpy-nightlyGitHub Actions
test-conda-python-3.10-substraitGitHub Actions
test-conda-python-3.11GitHub Actions
test-conda-python-3.11-dask-latestGitHub Actions
test-conda-python-3.11-dask-upstream_develGitHub Actions
test-conda-python-3.11-hypothesisGitHub Actions
test-conda-python-3.11-pandas-upstream_devel-numpy-nightlyGitHub Actions
test-conda-python-3.11-spark-masterGitHub Actions
test-conda-python-3.12GitHub Actions
test-conda-python-3.12-cpython-debugGitHub Actions
test-conda-python-3.8GitHub Actions
test-conda-python-3.8-pandas-1.0-numpy-1.19GitHub Actions
test-conda-python-3.9GitHub Actions
test-conda-python-3.9-pandas-latest-numpy-latestGitHub Actions
test-conda-python-emscriptenGitHub Actions
test-cuda-cppGitHub Actions
test-cuda-pythonGitHub Actions
test-debian-12-cpp-amd64GitHub Actions
test-debian-12-cpp-i386GitHub Actions
test-debian-12-python-3-amd64GitHub Actions
test-debian-12-python-3-i386GitHub Actions
test-fedora-39-cppGitHub Actions
test-fedora-39-python-3GitHub Actions
test-ubuntu-20.04-cppGitHub Actions
test-ubuntu-20.04-cpp-bundledGitHub Actions
test-ubuntu-20.04-cpp-minimal-with-formatsGitHub Actions
test-ubuntu-20.04-cpp-thread-sanitizerGitHub Actions
test-ubuntu-20.04-python-3GitHub Actions
test-ubuntu-22.04-cppGitHub Actions
test-ubuntu-22.04-cpp-20GitHub Actions
test-ubuntu-22.04-cpp-emscriptenGitHub Actions
test-ubuntu-22.04-cpp-no-threadingGitHub Actions
test-ubuntu-22.04-python-3GitHub Actions
test-ubuntu-24.04-cppGitHub Actions
test-ubuntu-24.04-cpp-gcc-13-bundledGitHub Actions
test-ubuntu-24.04-cpp-gcc-14GitHub Actions

kou
kou approved these changes Aug 29, 2024

@koukou 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

test-conda-python-emscripten failure is unrelated: #43868


# This script is run with PYTHON undefined in some places,
# but those only use older pythons.
if [[ -z "${PYTHON_VERSION}" ]] || [[ "${PYTHON_VERSION}" != "3.13" ]]; then

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.

This if check could be removed now? (AFAIK we only added it because we couldn't install grpcio on python 3.13, but now this is using pipx (with fixed python version) it shouldn't matter there are no python 3.13 wheels yet?

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

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

Yes, I should open a followup issue.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

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

Opened #43883

@conbench-apache-arrow

Copy link
Copy Markdown

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

There were no benchmark performance regressions. 🎉

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

khwilson pushed a commit to khwilson/arrow that referenced this pull request Sep 14, 2024
…e#43852)
### Rationale for this change
Installing the GCS testbench using the same Python that's being used to test PyArrow is fragile: some testbench versions may not be compatible, or there could be conflicts among the dependencies of the respective libraries.
### What changes are included in this PR?
Use `pipx` to install the GCS testbench in a separate, controlled environment, using an appropriate Python version.
### Are these changes tested?
Yes, by CI.
### Are there any user-facing changes?
No.
* GitHub Issue: apache#38183
Authored-by: Antoine Pitrou <antoine@python.org>
Signed-off-by: Sutou Kouhei <kou@clear-code.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@pitrou@kou@jorisvandenbossche