Skip to content

Commit dec054a

Browse files
author
unknown
committed
1 parent b613ad3 commit dec054a

4,378 files changed

Lines changed: 227 additions & 302896 deletions

File tree

Some content is hidden

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

.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: 223 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,223 @@
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,
12+
# software distributed under the License is distributed on an
13+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14+
# KIND, either express or implied. See the License for the
15+
# specific language governing permissions and limitations
16+
# under the License.
17+
18+
19+
# NOTE: must set "Crossbow" as name to have the badge links working in the
20+
# github comment reports!
21+
name: Crossbow
22+
on:
23+
push:
24+
branches:
25+
- "*-github-*"
26+
27+
env:
28+
ARCHERY_DEBUG: 1
29+
30+
31+
permissions:
32+
packages: write
33+
34+
jobs:
35+
build:
36+
name: "Build wheel for musllinux 1-2"
37+
runs-on: ubuntu-24.04-arm
38+
env:
39+
ALPINE_LINUX: "3.22"
40+
# archery uses these environment variables
41+
ARCH: arm64v8
42+
PYTHON: "3.14"
43+
PYTHON_ABI_TAG: "cp314"
44+
PYTHON_IMAGE_TAG: "3.14"
45+
46+
steps:
47+
- name: Checkout Arrow
48+
uses: actions/checkout@v4
49+
with:
50+
fetch-depth: 1
51+
path: arrow
52+
persist-credentials: false
53+
repository: apache/arrow
54+
ref: ca47cd10b651a8ff5fe44fbb23f7e01dc982a57d
55+
submodules: recursive
56+
57+
- name: Free up disk space
58+
if: runner.os == 'Linux' && runner.arch == 'X64'
59+
shell: bash
60+
run: |
61+
arrow/ci/scripts/util_free_space.sh
62+
63+
- name: Set up Python
64+
uses: actions/setup-python@v4
65+
with:
66+
cache: 'pip'
67+
python-version: 3.12
68+
- name: Install Archery
69+
shell: bash
70+
run: pip install -e arrow/dev/archery[all]
71+
72+
- name: Login to Dockerhub
73+
uses: docker/login-action@v2
74+
with:
75+
username: ${{ secrets.DOCKERHUB_USER }}
76+
password: ${{ secrets.DOCKERHUB_TOKEN }}
77+
78+
79+
# Detect free-threaded Python builds
80+
- name: Prepare
81+
run: |
82+
if [[ "${PYTHON_ABI_TAG}" == *t ]]; then
83+
test_image_prefix=python-free-threaded
84+
else
85+
test_image_prefix=python
86+
fi
87+
echo "TEST_IMAGE_PREFIX=${test_image_prefix}" >> ${GITHUB_ENV}
88+
89+
- name: Build wheel
90+
shell: bash
91+
env:
92+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
93+
run: |
94+
if [ "musllinux" = "musllinux" ] && [ "arm64" = "arm64" ]; then
95+
# We can't use NuGet on musl arm systems because the official NuGet binary for arm doesn't exist.
96+
:
97+
else
98+
export VCPKG_BINARY_SOURCES="clear;nuget,GitHub,readwrite"
99+
fi
100+
archery docker run \
101+
-e SETUPTOOLS_SCM_PRETEND_VERSION=25.0.0.dev124 \
102+
python-wheel-musllinux-1-2
103+
104+
- uses: actions/upload-artifact@v4
105+
with:
106+
name: wheel
107+
path: arrow/python/repaired_wheels/*.whl
108+
109+
# TODO(kszucs): auditwheel show
110+
- name: Test wheel
111+
shell: bash
112+
run: |
113+
source arrow/ci/scripts/util_enable_core_dumps.sh
114+
archery docker run ${TEST_IMAGE_PREFIX}-wheel-musllinux-test-imports
115+
archery docker run ${TEST_IMAGE_PREFIX}-wheel-musllinux-test-unittests
116+
117+
- name: Test wheel on AlmaLinux 8
118+
shell: bash
119+
if: |
120+
'3.14' == '3.12' && 'musllinux' == 'manylinux'
121+
env:
122+
ALMALINUX: "8"
123+
run: |
124+
archery docker run \
125+
-e ARROW_GANDIVA=OFF \
126+
-e TEST_DEFAULT=0 \
127+
-e TEST_PYARROW_VERSION=25.0.0.dev124 \
128+
-e TEST_PYTHON_VERSIONS=3.14 \
129+
-e TEST_WHEEL_PLATFORM_TAGS=musllinux_1_2_aarch64 \
130+
-e TEST_WHEELS=1 \
131+
almalinux-verify-rc
132+
133+
- name: Test wheel on Ubuntu 22.04
134+
shell: bash
135+
if: |
136+
'3.14' == '3.10' && 'musllinux' == 'manylinux'
137+
env:
138+
UBUNTU: "22.04"
139+
run: |
140+
archery docker run \
141+
-e TEST_DEFAULT=0 \
142+
-e TEST_PYARROW_VERSION=25.0.0.dev124 \
143+
-e TEST_PYTHON_VERSIONS=3.14 \
144+
-e TEST_WHEEL_PLATFORM_TAGS=musllinux_1_2_aarch64 \
145+
-e TEST_WHEELS=1 \
146+
ubuntu-verify-rc
147+
148+
- name: Test wheel on Ubuntu 24.04
149+
shell: bash
150+
if: |
151+
'3.14' == '3.12' && 'musllinux' == 'manylinux'
152+
env:
153+
UBUNTU: "24.04"
154+
run: |
155+
archery docker run \
156+
-e TEST_DEFAULT=0 \
157+
-e TEST_PYARROW_VERSION=25.0.0.dev124 \
158+
-e TEST_PYTHON_VERSIONS=3.14 \
159+
-e TEST_WHEEL_PLATFORM_TAGS=musllinux_1_2_aarch64 \
160+
-e TEST_WHEELS=1 \
161+
ubuntu-verify-rc
162+
163+
- name: Set up Python
164+
uses: actions/setup-python@v4
165+
with:
166+
python-version: 3.12
167+
- name: Checkout Crossbow
168+
uses: actions/checkout@v4
169+
with:
170+
path: crossbow
171+
persist-credentials: false
172+
ref: nightly-packaging-2026-06-10-0
173+
- name: Setup Crossbow
174+
shell: bash
175+
run: |
176+
python3 -m pip install -e arrow/dev/archery[crossbow]
177+
echo "$HOME/.local/bin" >> $GITHUB_PATH
178+
- name: Upload artifacts
179+
shell: bash
180+
run: |
181+
archery crossbow \
182+
--queue-path $(pwd)/crossbow \
183+
--queue-remote https://github.com/ursacomputing/crossbow \
184+
upload-artifacts \
185+
--sha nightly-packaging-2026-06-10-0-github-wheel-musllinux-1-2-cp314-cp314-arm64 \
186+
--tag nightly-packaging-2026-06-10-0-github-wheel-musllinux-1-2-cp314-cp314-arm64 \
187+
"arrow/python/repaired_wheels/*.whl"
188+
env:
189+
CROSSBOW_GITHUB_TOKEN: ${{ secrets.CROSSBOW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}
190+
- name: Verify uploaded artifacts
191+
shell: bash
192+
run: |
193+
archery crossbow \
194+
--queue-path $(pwd)/crossbow \
195+
--queue-remote https://github.com/ursacomputing/crossbow \
196+
status \
197+
--task-filter 'wheel-musllinux-1-2-cp314-cp314-arm64' \
198+
--no-fetch \
199+
--validate \
200+
nightly-packaging-2026-06-10-0
201+
env:
202+
CROSSBOW_GITHUB_TOKEN: ${{ secrets.CROSSBOW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}
203+
204+
- name: Upload wheel to Anaconda scientific-python
205+
shell: bash
206+
run: |
207+
# check if completion actually expands to wheel files
208+
# to prevent empty dirs from failing silently
209+
if ! compgen -G "arrow/python/repaired_wheels/*.whl" > /dev/null; then
210+
echo "No wheel files found!"
211+
exit 1
212+
fi
213+
python3 -m pip install git+https://github.com/Anaconda-Platform/anaconda-client.git@1.14.1
214+
anaconda -t ${CROSSBOW_SCIENTIFIC_PYTHON_UPLOAD_TOKEN} upload --force -u scientific-python-nightly-wheels --label main arrow/python/repaired_wheels/*.whl
215+
env:
216+
CROSSBOW_SCIENTIFIC_PYTHON_UPLOAD_TOKEN: ${{ secrets.CROSSBOW_SCIENTIFIC_PYTHON_UPLOAD_TOKEN }}
217+
218+
219+
- name: Push Docker images
220+
shell: bash
221+
run: |
222+
archery docker push python-wheel-musllinux-1-2
223+
archery docker push ${TEST_IMAGE_PREFIX}-wheel-musllinux-test-unittests

0 commit comments

Comments
 (0)