Skip to content

Commit e1c6fd5

Browse files
raulcdkou
andauthored
GH-42137 [CI][Python] Add Python Windows GitHub Action and remove AppVeyor (#47567)
### Rationale for this change There is currently a single CI job on AppVeyor. This is the only job on Windows for Python and it usually fails due to CI issues rather than Python real issues. We have more experience with GitHub actions and debugging AppVeyor is usually challenging. ### What changes are included in this PR? Create a Python Windows job that runs on GitHub actions. The job builds Arrow CPP and PyArrow and it tests PyArrow. Also removes the CI related files for AppVeyor ### Are these changes tested? Yes, via CI. ### Are there any user-facing changes? No * GitHub Issue: #42137 Lead-authored-by: Raúl Cumplido <[email protected]> Co-authored-by: Sutou Kouhei <[email protected]> Signed-off-by: Raúl Cumplido <[email protected]>
1 parent 6c0c3cd commit e1c6fd5

File tree

6 files changed

+237
-328
lines changed

6 files changed

+237
-328
lines changed

.github/workflows/python.yml

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -239,3 +239,60 @@ jobs:
239239
- name: Test
240240
shell: bash
241241
run: ci/scripts/python_test.sh $(pwd) $(pwd)/build
242+
243+
windows:
244+
name: AMD64 Windows 2022 Python 3.13
245+
runs-on: windows-2022
246+
if: ${{ !contains(github.event.pull_request.title, 'WIP') }}
247+
timeout-minutes: 60
248+
env:
249+
PYTHON_CMD: "py -3.13"
250+
steps:
251+
- name: Disable Crash Dialogs
252+
run: |
253+
reg add `
254+
"HKCU\SOFTWARE\Microsoft\Windows\Windows Error Reporting" `
255+
/v DontShowUI `
256+
/t REG_DWORD `
257+
/d 1 `
258+
/f
259+
- name: Checkout Arrow
260+
uses: actions/checkout@v5
261+
with:
262+
fetch-depth: 0
263+
submodules: recursive
264+
- name: Setup Python
265+
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
266+
with:
267+
python-version: 3.13
268+
- name: Install ccache
269+
shell: bash
270+
run: |
271+
ci/scripts/install_ccache.sh 4.6.3 /usr
272+
- name: Setup ccache
273+
shell: bash
274+
run: |
275+
ci/scripts/ccache_setup.sh
276+
- name: Generate path variables
277+
id: path-info
278+
shell: bash
279+
run: |
280+
echo "CCACHE_DIR=$(ccache --get-config cache_dir)" >> $GITHUB_ENV
281+
echo "usr-windows-dir="$(cygpath --absolute --windows /usr)"" >> $GITHUB_OUTPUT
282+
- name: Cache ccache
283+
uses: actions/cache@v4
284+
with:
285+
path: ${{ env.CCACHE_DIR }}
286+
key: python-ccache-windows-${{ env.CACHE_VERSION }}-${{ hashFiles('cpp/**') }}
287+
restore-keys: python-ccache-windows-${{ env.CACHE_VERSION }}-
288+
env:
289+
# We can invalidate the current cache by updating this.
290+
CACHE_VERSION: "2025-09-16.1"
291+
- name: Build Arrow C++ and PyArrow
292+
shell: cmd
293+
run: |
294+
call "ci\scripts\python_build.bat" %cd% "${{ steps.path-info.outputs.usr-windows-dir }}"
295+
- name: Test PyArrow
296+
shell: cmd
297+
run: |
298+
call "ci\scripts\python_test.bat" %cd%

appveyor.yml

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

ci/appveyor-cpp-build.bat

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

ci/appveyor-cpp-setup.bat

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

0 commit comments

Comments
 (0)