Skip to content

Commit f75c38e

Browse files
author
unknown
committed
1 parent 3e00d19 commit f75c38e

File tree

4,174 files changed

+210
-292275
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

4,174 files changed

+210
-292275
lines changed

.circleci/config.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
12
version: 2
23

34
jobs:

.github/workflows/cache_vcpkg.yml

Lines changed: 0 additions & 109 deletions
This file was deleted.

.github/workflows/crossbow.yml

Lines changed: 206 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,206 @@
1+
# Licensed to the Apache Software Foundation (ASF) under one
2+
# or more contributor license agreements. See the NOTICE file
3+
# distributed with this work for additional information
4+
# regarding copyright ownership. The ASF licenses this file
5+
# to you under the Apache License, Version 2.0 (the
6+
# "License"); you may not use this file except in compliance
7+
# with the License. You may obtain a copy of the License at
8+
#
9+
# http://www.apache.org/licenses/LICENSE-2.0
10+
#
11+
# Unless required by applicable law or agreed to in writing, software
12+
# distributed under the License is distributed on an "AS IS" BASIS,
13+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
# See the License for the specific language governing permissions and
15+
# limitations under the License.
16+
17+
18+
# NOTE: must set "Crossbow" as name to have the badge links working in the
19+
# github comment reports!
20+
name: Crossbow
21+
on:
22+
push:
23+
branches:
24+
- "*-github-*"
25+
26+
env:
27+
ARCHERY_DEBUG: 1
28+
29+
# env: is generated by macros.github_header()
30+
ARROW_JEMALLOC: "ON"
31+
CC: "clang"
32+
CMAKE_BUILD_TYPE: release
33+
CXX: "clang++"
34+
MACOSX_DEPLOYMENT_TARGET: "12.0"
35+
PYARROW_VERSION: "24.0.0.dev272"
36+
PYTHON_VERSION: "3.13"
37+
PYTHON_ABI_TAG: "cp313"
38+
PYTHON: "/Library/Frameworks/Python.framework/Versions/3.13/bin/python3.13"
39+
VCPKG_DEFAULT_TRIPLET: "amd64-osx-static-release"
40+
VCPKG_FEATURE_FLAGS: "manifests"
41+
VCPKG_OVERLAY_TRIPLETS: ${{ github.workspace }}/arrow/ci/vcpkg
42+
VCPKG_ROOT: ${{ github.workspace }}/vcpkg
43+
44+
permissions:
45+
packages: write
46+
47+
jobs:
48+
build:
49+
name: Build wheel for Python 3.13 on macOS
50+
runs-on: "macos-15-intel"
51+
env:
52+
VCPKG_BINARY_SOURCES: 'clear;nuget,GitHub,readwrite'
53+
steps:
54+
- name: Checkout Arrow
55+
uses: actions/checkout@v4
56+
with:
57+
fetch-depth: 1
58+
path: arrow
59+
repository: apache/arrow
60+
ref: 82847d8f6dae87e709d284b4b871da1424e93a25
61+
submodules: recursive
62+
63+
64+
- name: Install System Dependencies
65+
run: |
66+
brew install bash bison coreutils mono ninja
67+
echo "$(brew --prefix bison)/bin" >> $GITHUB_PATH
68+
69+
- name: Homebrew packages
70+
run: |
71+
brew list
72+
73+
# CMake 3.29.1 that is pre-installed on the macOS image has a problem.
74+
# See also: https://github.com/microsoft/vcpkg/issues/37968
75+
- name: Install CMake 3.29.0
76+
shell: bash
77+
run: |
78+
arrow/ci/scripts/install_cmake.sh 3.29.0 ${PWD}/local
79+
echo "${PWD}/local/bin" >> $GITHUB_PATH
80+
81+
- name: Retrieve VCPKG version from arrow/.env
82+
run: |
83+
vcpkg_version=$(. "arrow/.env" && echo "${VCPKG}")
84+
echo "VCPKG_VERSION=$vcpkg_version" >> $GITHUB_ENV
85+
86+
- name: Install Vcpkg
87+
env:
88+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
89+
run: arrow/ci/scripts/install_vcpkg.sh $VCPKG_ROOT $VCPKG_VERSION
90+
91+
- name: Add Vcpkg to PATH
92+
run: echo ${VCPKG_ROOT} >> $GITHUB_PATH
93+
94+
- name: Install Packages
95+
run: |
96+
vcpkg install \
97+
--clean-after-build \
98+
--x-install-root=${VCPKG_ROOT}/installed \
99+
--x-manifest-root=arrow/ci/vcpkg \
100+
--x-feature=azure \
101+
--x-feature=flight \
102+
--x-feature=gcs \
103+
--x-feature=json \
104+
--x-feature=opentelemetry \
105+
--x-feature=orc \
106+
--x-feature=parquet \
107+
--x-feature=s3
108+
109+
- name: Install Python 3.13
110+
run: sudo arrow/ci/scripts/install_python.sh macos 3.13
111+
112+
- name: Build Wheel
113+
run: |
114+
$PYTHON -m venv build-env
115+
source build-env/bin/activate
116+
pip install --upgrade pip wheel
117+
PYTHON=python arrow/ci/scripts/python_wheel_macos_build.sh x86_64 $(pwd)/arrow $(pwd)/build
118+
119+
- uses: actions/upload-artifact@v4
120+
with:
121+
name: wheel
122+
path: arrow/python/repaired_wheels/*.whl
123+
124+
# Use a well-known Python version for the GCS testbench, and avoid
125+
# putting it in PATH.
126+
- name: Set up Python for GCS testbench
127+
uses: actions/setup-python@v5.1.1
128+
id: gcs-python-install
129+
with:
130+
python-version: 3.12
131+
update-environment: false
132+
133+
- name: Install GCS testbench
134+
env:
135+
PIPX_BIN_DIR: /usr/local/bin
136+
PIPX_BASE_PYTHON: ${{ steps.gcs-python-install.outputs.python-path }}
137+
run: arrow/ci/scripts/install_gcs_testbench.sh default
138+
139+
- name: Install MinIO
140+
run: |
141+
$(brew --prefix bash)/bin/bash \
142+
arrow/ci/scripts/install_minio.sh latest /usr/local
143+
144+
- name: Test Wheel
145+
env:
146+
PYTEST_ADDOPTS: "-k 'not test_cancellation'"
147+
PYTHON_GIL: 1
148+
run: |
149+
$PYTHON -m venv test-env
150+
source test-env/bin/activate
151+
pip install --upgrade pip wheel
152+
arch -x86_64 arrow/ci/scripts/python_wheel_unix_test.sh $(pwd)/arrow
153+
154+
- name: Set up Python
155+
uses: actions/setup-python@v4
156+
with:
157+
python-version: 3.12
158+
- name: Checkout Crossbow
159+
uses: actions/checkout@v4
160+
with:
161+
path: crossbow
162+
ref: nightly-packaging-2026-04-02-0
163+
- name: Setup Crossbow
164+
shell: bash
165+
run: |
166+
python3 -m pip install -e arrow/dev/archery[crossbow]
167+
echo "$HOME/.local/bin" >> $GITHUB_PATH
168+
- name: Upload artifacts
169+
shell: bash
170+
run: |
171+
archery crossbow \
172+
--queue-path $(pwd)/crossbow \
173+
--queue-remote https://github.com/ursacomputing/crossbow \
174+
upload-artifacts \
175+
--sha nightly-packaging-2026-04-02-0-github-wheel-macos-monterey-cp313-cp313-amd64 \
176+
--tag nightly-packaging-2026-04-02-0-github-wheel-macos-monterey-cp313-cp313-amd64 \
177+
"arrow/python/repaired_wheels/*.whl"
178+
env:
179+
CROSSBOW_GITHUB_TOKEN: ${{ secrets.CROSSBOW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}
180+
- name: Verify uploaded artifacts
181+
shell: bash
182+
run: |
183+
archery crossbow \
184+
--queue-path $(pwd)/crossbow \
185+
--queue-remote https://github.com/ursacomputing/crossbow \
186+
status \
187+
--task-filter 'wheel-macos-monterey-cp313-cp313-amd64' \
188+
--no-fetch \
189+
--validate \
190+
nightly-packaging-2026-04-02-0
191+
env:
192+
CROSSBOW_GITHUB_TOKEN: ${{ secrets.CROSSBOW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}
193+
194+
- name: Upload wheel to Anaconda scientific-python
195+
shell: bash
196+
run: |
197+
# check if completion actually expands to wheel files
198+
# to prevent empty dirs from failing silently
199+
if ! compgen -G "arrow/python/repaired_wheels/*.whl" > /dev/null; then
200+
echo "No wheel files found!"
201+
exit 1
202+
fi
203+
python3 -m pip install git+https://github.com/Anaconda-Platform/anaconda-client.git@1.14.1
204+
anaconda -t ${CROSSBOW_SCIENTIFIC_PYTHON_UPLOAD_TOKEN} upload --force -u scientific-python-nightly-wheels --label main arrow/python/repaired_wheels/*.whl
205+
env:
206+
CROSSBOW_SCIENTIFIC_PYTHON_UPLOAD_TOKEN: ${{ secrets.CROSSBOW_SCIENTIFIC_PYTHON_UPLOAD_TOKEN }}

0 commit comments

Comments
 (0)