Skip to content

Commit 5b7aaaf

Browse files
author
unknown
committed
1 parent 7e977d6 commit 5b7aaaf

4,357 files changed

Lines changed: 192 additions & 301830 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: 188 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,188 @@
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+
jobs:
32+
build:
33+
name: "Build wheel for Windows"
34+
runs-on: windows-2022
35+
env:
36+
# archery uses this environment variable
37+
PYTHON: "3.13"
38+
PYTHON_ABI_TAG: "cp313"
39+
# this is a private repository at the moment (mostly because of licensing
40+
# consideration of windows images with visual studio), but anyone can
41+
# recreate the image by manually building it via:
42+
# `archery build python-wheel-windows-vs2022`
43+
# note that we don't run docker build since there wouldn't be a cache hit
44+
# and rebuilding the dependencies takes a fair amount of time
45+
REPO: ghcr.io/ursacomputing/arrow
46+
# BuildKit isn't really supported on Windows for now.
47+
# NuGet + GitHub Packages based vcpkg cache is also disabled for now.
48+
# Because secret mount requires BuildKit.
49+
DOCKER_BUILDKIT: 0
50+
51+
steps:
52+
- name: Checkout Arrow
53+
uses: actions/checkout@v4
54+
with:
55+
fetch-depth: 1
56+
path: arrow
57+
persist-credentials: false
58+
repository: raulcd/arrow
59+
ref: 5da462a75dfd3836e8af0a0019217974ffa96c24
60+
submodules: recursive
61+
62+
- name: Login to GitHub Container Registry
63+
uses: docker/login-action@v2
64+
with:
65+
registry: ghcr.io
66+
username: ${{ github.actor }}
67+
password: ${{ secrets.GITHUB_TOKEN }}
68+
69+
- name: Set up Python
70+
uses: actions/setup-python@v4
71+
with:
72+
cache: 'pip'
73+
python-version: 3.12
74+
- name: Install Archery
75+
shell: bash
76+
run: pip install -e arrow/dev/archery[all]
77+
78+
79+
- name: Prepare
80+
shell: bash
81+
run: |
82+
case "${PYTHON_ABI_TAG}" in
83+
*t)
84+
test_image_prefix=python-free-threaded
85+
;;
86+
*)
87+
test_image_prefix=python
88+
;;
89+
esac
90+
echo "TEST_IMAGE_PREFIX=${test_image_prefix}" >> ${GITHUB_ENV}
91+
92+
- name: Configure Docker data-root
93+
shell: powershell
94+
run: |
95+
# The D: drive on windows-2022 GH Actions runners has ~44GB free vs ~14GB on C:.
96+
# Moving Docker's data-root to D: prevents hcsshim::ImportLayer failures when
97+
# building large Windows container layers (e.g. the vcpkg install layer). GH-49676
98+
Stop-Service docker
99+
$daemonJson = "C:\ProgramData\Docker\config\daemon.json"
100+
New-Item -ItemType Directory -Force -Path (Split-Path $daemonJson) | Out-Null
101+
if (Test-Path $daemonJson) {
102+
$json = Get-Content $daemonJson | ConvertFrom-Json
103+
$json | Add-Member -Force -NotePropertyName "data-root" -NotePropertyValue "D:\docker"
104+
$json | ConvertTo-Json -Depth 10 | Set-Content $daemonJson
105+
} else {
106+
Set-Content $daemonJson -Value '{"data-root":"D:\docker"}'
107+
}
108+
Start-Service docker
109+
Write-Host "=== daemon.json ==="
110+
Get-Content $daemonJson
111+
Write-Host "=== docker info ==="
112+
docker info
113+
114+
- name: Build wheel
115+
shell: cmd
116+
run: |
117+
cd arrow
118+
@rem We want to use only
119+
@rem archery docker run -e SETUPTOOLS_SCM_PRETEND_VERSION=25.0.0.dev101 python-wheel-windows-vs2022
120+
@rem but it doesn't use pulled caches.
121+
@rem It always build an image from scratch.
122+
@rem We can remove this workaround once we find a way to use
123+
@rem pulled caches when build an image.
124+
echo on
125+
archery docker pull --no-ignore-pull-failures %TEST_IMAGE_PREFIX%-wheel-windows-vs2022
126+
if errorlevel 1 (
127+
archery docker build --no-pull %TEST_IMAGE_PREFIX%-wheel-windows-vs2022 || exit /B 1
128+
)
129+
archery docker run --no-build -e SETUPTOOLS_SCM_PRETEND_VERSION=25.0.0.dev101 %TEST_IMAGE_PREFIX%-wheel-windows-vs2022
130+
131+
- uses: actions/upload-artifact@v4
132+
with:
133+
name: wheel
134+
path: arrow/python/repaired_wheels/*.whl
135+
136+
- name: Test wheel
137+
shell: cmd
138+
run: |
139+
cd arrow
140+
archery docker pull --no-ignore-pull-failures %TEST_IMAGE_PREFIX%-wheel-windows-test
141+
if errorlevel 1 (
142+
archery docker build --no-pull %TEST_IMAGE_PREFIX%-wheel-windows-test || exit /B 1
143+
)
144+
archery docker run %TEST_IMAGE_PREFIX%-wheel-windows-test
145+
146+
- name: Set up Python
147+
uses: actions/setup-python@v4
148+
with:
149+
python-version: 3.12
150+
- name: Checkout Crossbow
151+
uses: actions/checkout@v4
152+
with:
153+
path: crossbow
154+
persist-credentials: false
155+
ref: actions-3f0a71b8f0
156+
- name: Setup Crossbow
157+
shell: bash
158+
run: |
159+
python3 -m pip install -e arrow/dev/archery[crossbow]
160+
echo "$HOME/.local/bin" >> $GITHUB_PATH
161+
- name: Upload artifacts
162+
shell: bash
163+
run: |
164+
archery crossbow \
165+
--queue-path $(pwd)/crossbow \
166+
--queue-remote https://github.com/ursacomputing/crossbow \
167+
upload-artifacts \
168+
--sha actions-3f0a71b8f0-github-wheel-windows-cp313-cp313-amd64 \
169+
--tag actions-3f0a71b8f0-github-wheel-windows-cp313-cp313-amd64 \
170+
"arrow/python/repaired_wheels/*.whl"
171+
env:
172+
CROSSBOW_GITHUB_TOKEN: ${{ secrets.CROSSBOW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}
173+
- name: Verify uploaded artifacts
174+
shell: bash
175+
run: |
176+
archery crossbow \
177+
--queue-path $(pwd)/crossbow \
178+
--queue-remote https://github.com/ursacomputing/crossbow \
179+
status \
180+
--task-filter 'wheel-windows-cp313-cp313-amd64' \
181+
--no-fetch \
182+
--validate \
183+
actions-3f0a71b8f0
184+
env:
185+
CROSSBOW_GITHUB_TOKEN: ${{ secrets.CROSSBOW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}
186+
187+
188+

.github/workflows/nightly_dashboard.yml

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

0 commit comments

Comments
 (0)