You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@arrow.apache.org by ko...@apache.org on 2024/08/16 00:06:14 UTC

(arrow) branch main updated: MINOR: [CI] Fix ubuntu-lint to not install into system Python (#43710)

This is an automated email from the ASF dual-hosted git repository.

kou pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/arrow.git


The following commit(s) were added to refs/heads/main by this push:
     new a50ad422cf MINOR: [CI] Fix ubuntu-lint to not install into system Python (#43710)
a50ad422cf is described below

commit a50ad422cff112efb022d081e34344249ac83530
Author: Antoine Pitrou <an...@python.org>
AuthorDate: Fri Aug 16 02:06:08 2024 +0200

    MINOR: [CI] Fix ubuntu-lint to not install into system Python (#43710)
    
    ### Rationale for this change
    
    Currently, the `ubuntu-lint` Docker build would install its Python dependencies directly into the system Python, which can fail depending on existing system Python packages.
    
    See example here:
    https://github.com/apache/arrow/actions/runs/10400929007/job/28802420047?pr=43539 where pip's dependency resolution fails with the following error message:
    ```
    packaging.version.InvalidVersion: Invalid version: '2013-02-16'
    ```
    
    ### What changes are included in this PR?
    
    This PR switches to use a virtual environment, guaranteeing that we're not interfering with the system Python and that we're not bound by already installed Python packages.
    
    ### Are these changes tested?
    
    By CI.
    
    ### Are there any user-facing changes?
    
    No.
    
    Authored-by: Antoine Pitrou <an...@python.org>
    Signed-off-by: Sutou Kouhei <ko...@clear-code.com>
---
 docker-compose.yml | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/docker-compose.yml b/docker-compose.yml
index daa5c74bcb..14eeeeee6e 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -1889,6 +1889,9 @@ services:
     command: >
       /bin/bash -c "
         git config --global --add safe.directory /arrow &&
+        python3 -m venv /build/pyvenv &&
+        source /build/pyvenv/bin/activate &&
+        pip install -U pip setuptools &&
         pip install arrow/dev/archery[lint] &&
         archery lint --all --no-clang-tidy --no-iwyu --no-numpydoc --src /arrow"