diff --git a/.github/workflows/build_infra_images_cache.yml b/.github/workflows/build_infra_images_cache.yml index 1dd1ca9cd66cb..92c5d5e0d19e4 100644 --- a/.github/workflows/build_infra_images_cache.yml +++ b/.github/workflows/build_infra_images_cache.yml @@ -231,6 +231,8 @@ jobs: uses: docker/build-push-action@53b7df96c91f9c12dcc8a07bcb9ccacbed38856a with: context: ./dev/spark-test-image/python-314-nogil/ + build-contexts: | + root=./ push: true tags: ghcr.io/apache/spark/apache-spark-github-action-image-pyspark-python-314-nogil-cache:${{ github.ref_name }}-static cache-from: type=registry,ref=ghcr.io/apache/spark/apache-spark-github-action-image-pyspark-python-314-nogil-cache:${{ github.ref_name }} diff --git a/dev/spark-test-image/python-314-nogil/Dockerfile b/dev/spark-test-image/python-314-nogil/Dockerfile index 6dea9c2fc35ed..28b19923d4f6d 100644 --- a/dev/spark-test-image/python-314-nogil/Dockerfile +++ b/dev/spark-test-image/python-314-nogil/Dockerfile @@ -63,7 +63,11 @@ ENV VIRTUAL_ENV=/opt/spark-venv RUN python3.14t -m venv $VIRTUAL_ENV ENV PATH="$VIRTUAL_ENV/bin:$PATH" -# TODO: Add BASIC_PIP_PKGS and CONNECT_PIP_PKGS when it supports Python 3.14 free threaded -# TODO: Add lxml, grpcio, grpcio-status back when they support Python 3.14 free threaded -RUN python3.14t -m pip install 'numpy>=2.1' 'pyarrow>=23.0.0' 'six==1.16.0' 'pandas==2.3.3' 'pystack>=1.6.0' scipy coverage matplotlib openpyxl jinja2 psutil && \ - python3.14t -m pip cache purge +COPY --from=root pyproject.toml ./pyproject.toml + +RUN python3.14 -m pip install -U pip + +# TODO: Add connect packages when grpcio supports Python 3.14 free threaded +RUN python3.14 -m pip install --group ml_torch --index-url https://download.pytorch.org/whl/cpu && \ + python3.14 -m pip install --group ci_classic_standard && \ + python3.14 -m pip cache purge