Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions ci/docker/python-wheel-manylinux.dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,10 @@ ARG ccache=4.13.6
COPY ci/scripts/install_ccache.sh arrow/ci/scripts/
RUN /arrow/ci/scripts/install_ccache.sh ${ccache} /usr/local

# Install sccache
COPY ci/scripts/install_sccache.sh /arrow/ci/scripts/
RUN /arrow/ci/scripts/install_sccache.sh unknown-linux-musl /usr/local/bin

# Install bison (> 3.7 required for building thrift)
ARG bison=3.7.6
COPY ci/scripts/install_bison.sh arrow/ci/scripts/
Expand Down
1 change: 1 addition & 0 deletions ci/docker/python-wheel-musllinux.dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ RUN apk add --no-cache \
flex \
git \
ninja \
sccache \
unzip \
wget \
zip
Expand Down
10 changes: 10 additions & 0 deletions ci/scripts/python_wheel_xlinux_build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -183,6 +183,16 @@ python -m build --sdist --wheel . --no-isolation \
-C cmake.build-type="${CMAKE_BUILD_TYPE:-Debug}" \
-C cmake.args="-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=${CMAKE_INTERPROCEDURAL_OPTIMIZATION}"

if command -v ccache &> /dev/null; then
echo "=== ccache stats after the build ==="
ccache -sv 2>/dev/null || ccache -s
fi

if command -v sccache &> /dev/null; then
echo "=== sccache stats after the build ==="
sccache --show-stats
fi

echo "=== Strip symbols from wheel ==="
mkdir -p dist/temp-fix-wheel
mv dist/pyarrow-*.whl dist/temp-fix-wheel
Expand Down
45 changes: 23 additions & 22 deletions compose.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -507,6 +507,7 @@ services:
shm_size: *shm-size
ulimits: *ulimits
environment:
# Do not inherit sccache since network is switched off in this build
<<: [*common, *ccache, *cpp]
ARROW_DEPENDENCY_SOURCE: BUNDLED
ARROW_OFFLINE: ON
Expand Down Expand Up @@ -668,7 +669,7 @@ services:
shm_size: *shm-size
volumes: *ubuntu-volumes
environment:
<<: [*common, *ccache, *cpp]
<<: [*common, *ccache, *sccache, *cpp]
CC: clang-${CLANG_TOOLS}
CXX: clang++-${CLANG_TOOLS}
# Avoid creating huge static libraries
Expand Down Expand Up @@ -805,7 +806,7 @@ services:
- ${REPO}:${ARCH_SHORT}-cpp-jni-${VCPKG}
secrets: *vcpkg-build-secrets
environment:
<<: [*common, *ccache]
<<: [*common, *ccache, *sccache]

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.

I can only see ccache installed in ci/docker/cpp-jni.dockerfile, but no sccache, so this likely doesn't do much.

volumes:
- .:/arrow:delegated
- ${DOCKER_VOLUME_PREFIX}cpp-jni-ccache:/ccache:delegated
Expand Down Expand Up @@ -833,7 +834,7 @@ services:
shm_size: *shm-size
ulimits: *ulimits
environment:
<<: [*common, *ccache]
<<: [*common, *ccache, *sccache]
BUILD_DOCS_C_GLIB: "ON"
volumes: *debian-volumes
command: &c-glib-command >
Expand Down Expand Up @@ -862,7 +863,7 @@ services:
shm_size: *shm-size
ulimits: *ulimits
environment:
<<: [*common, *ccache]
<<: [*common, *ccache, *sccache]
volumes: *ubuntu-volumes
command: *c-glib-command

Expand Down Expand Up @@ -893,7 +894,7 @@ services:
shm_size: *shm-size
ulimits: *ulimits
environment:
<<: [*common, *ccache]
<<: [*common, *ccache, *sccache]
BUILD_DOCS_C_GLIB: "ON"
volumes: *debian-volumes
command: &ruby-command >
Expand Down Expand Up @@ -925,7 +926,7 @@ services:
shm_size: *shm-size
ulimits: *ulimits
environment:
<<: [*common, *ccache]
<<: [*common, *ccache, *sccache]
volumes: *ubuntu-volumes
command: *ruby-command

Expand Down Expand Up @@ -1067,7 +1068,7 @@ services:
base: ${REPO}:${ARCH_SHORT}-debian-${DEBIAN}-cpp
shm_size: *shm-size
environment:
<<: [*common, *ccache]
<<: [*common, *ccache, *sccache]
volumes: *debian-volumes
command: *python-command

Expand All @@ -1090,7 +1091,7 @@ services:
base: ${REPO}:${ARCH_SHORT}-ubuntu-${UBUNTU}-cpp
shm_size: *shm-size
environment:
<<: [*common, *ccache]
<<: [*common, *ccache, *sccache]
volumes: *ubuntu-volumes
command: *python-command

Expand All @@ -1113,7 +1114,7 @@ services:
base: ${REPO}:${ARCH_SHORT}-fedora-${FEDORA}-cpp
shm_size: *shm-size
environment:
<<: [*common, *ccache]
<<: [*common, *ccache, *sccache]
volumes: *fedora-volumes
command: *python-command

Expand Down Expand Up @@ -1157,7 +1158,7 @@ services:
base: ${REPO}:${ARCH_SHORT}-ubuntu-${UBUNTU}-cpp
shm_size: *shm-size
environment:
<<: [*common, *ccache]
<<: [*common, *ccache, *sccache]
# Bundled build of OpenTelemetry needs a git client
ARROW_WITH_OPENTELEMETRY: "OFF"
PYARROW_VERSION: ${PYARROW_VERSION:-}
Expand Down Expand Up @@ -1189,7 +1190,7 @@ services:
- ${REPO}:${ARCH_SHORT}-python-${PYTHON}-wheel-manylinux-2-28-vcpkg-${VCPKG}
secrets: *vcpkg-build-secrets
environment:
<<: [*common, *ccache]
<<: [*common, *ccache, *sccache]
volumes:
- .:/arrow:delegated
- ${DOCKER_VOLUME_PREFIX}python-wheel-manylinux-2-28-ccache:/ccache:delegated
Expand All @@ -1214,7 +1215,7 @@ services:
- ${REPO}:${ARCH_SHORT}-python-${PYTHON}-wheel-musllinux-1-2-vcpkg-${VCPKG}
secrets: *vcpkg-build-secrets
environment:
<<: [ *common, *ccache ]
<<: [*common, *ccache, *sccache]
volumes:
- .:/arrow:delegated
- ${DOCKER_VOLUME_PREFIX}python-wheel-musllinux-1-2-ccache:/ccache:delegated
Expand Down Expand Up @@ -1541,7 +1542,7 @@ services:
cap_add:
- SYS_ADMIN
environment:
<<: [*common, *ccache]
<<: [*common, *ccache, *sccache]
ARROW_SUBSTRAIT: "ON"
LC_ALL: "C.UTF-8"
LANG: "C.UTF-8"
Expand Down Expand Up @@ -1583,7 +1584,7 @@ services:
dask: ${DASK}
shm_size: *shm-size
environment:
<<: [*common, *ccache]
<<: [*common, *ccache, *sccache]
volumes: *conda-volumes
command:
["/arrow/ci/scripts/cpp_build.sh /arrow /build &&
Expand All @@ -1610,7 +1611,7 @@ services:
python: ${PYTHON}
shm_size: *shm-size
environment:
<<: [*common, *ccache]
<<: [*common, *ccache, *sccache]
PYTEST_ARGS: # inherit
volumes: *conda-volumes
command: *python-conda-command
Expand Down Expand Up @@ -1865,7 +1866,7 @@ services:
node: ${NODE}
volumes: *conda-volumes
environment:
<<: [*common, *ccache]
<<: [*common, *ccache, *sccache]
ARCHERY_INTEGRATION_WITH_GO: 0
ARCHERY_INTEGRATION_WITH_NANOARROW: 0
ARCHERY_INTEGRATION_WITH_RUST: 0
Expand Down Expand Up @@ -1901,7 +1902,7 @@ services:
cap_add:
- SYS_ADMIN
environment:
<<: [*common, *ccache]
<<: [*common, *ccache, *sccache]
ARROW_AZURE: "ON"
ARROW_CUDA: "ON"
ARROW_CXX_FLAGS_DEBUG: "-g1"
Expand Down Expand Up @@ -1979,7 +1980,7 @@ services:
links:
- impala:impala
environment:
<<: [*common, *ccache]
<<: [*common, *ccache, *sccache]
ARROW_ENGINE: "OFF"
ARROW_FLIGHT: "OFF"
ARROW_FLIGHT_SQL: "OFF"
Expand Down Expand Up @@ -2021,7 +2022,7 @@ services:
numpy: ${NUMPY}
shm_size: *shm-size
environment:
<<: [*common, *ccache]
<<: [*common, *ccache, *sccache]
volumes: *conda-maven-volumes
command:
["/arrow/ci/scripts/cpp_build.sh /arrow /build &&
Expand All @@ -2037,7 +2038,7 @@ services:
- ${DOCKER_VOLUME_PREFIX}conda-ccache:/ccache:delegated
shm_size: '1gb'
environment:
<<: [*common, *ccache]
<<: [*common, *ccache, *sccache]
CMAKE_GENERATOR: Ninja
DEBIAN_FRONTEND: "noninteractive"
DOTNET_SYSTEM_GLOBALIZATION_INVARIANT: 1
Expand Down Expand Up @@ -2070,7 +2071,7 @@ services:
- ${DOCKER_VOLUME_PREFIX}almalinux-ccache:/ccache:delegated
shm_size: '1gb'
environment:
<<: [*common, *ccache]
<<: [*common, *ccache, *sccache]
CMAKE_GENERATOR: Ninja
SSL_CERT_FILE: /etc/ssl/certs/ca-bundle.crt # required due to issue in RHEL-8 based images. See GH-49757
TEST_APT: 0 # would require docker-in-docker
Expand Down Expand Up @@ -2100,7 +2101,7 @@ services:
- ${DOCKER_VOLUME_PREFIX}ubuntu-ccache:/ccache:delegated
shm_size: '1gb'
environment:
<<: [*common, *ccache]
<<: [*common, *ccache, *sccache]
CMAKE_GENERATOR: Ninja
TEST_APT: 0 # would require docker-in-docker
TEST_YUM: 0
Expand Down
1 change: 1 addition & 0 deletions dev/tasks/python-wheels/github.linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,7 @@ jobs:
- name: Build wheel
shell: bash
env:
{{ macros.github_set_sccache_envvars()|indent(8) }}
GITHUB_TOKEN: {{ '${{ secrets.GITHUB_TOKEN }}' }}
run: |
if [ "{{ linux_wheel_kind }}" = "musllinux" ] && [ "{{ arch }}" = "arm64" ]; then
Expand Down
Loading