Skip to content

Commit feec6bc

Browse files
committed
Fix 3.14 gcp GH job by capping parallelism
1 parent e8c08d5 commit feec6bc

2 files changed

Lines changed: 11 additions & 2 deletions

File tree

.github/workflows/precommit.yml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,10 @@ jobs:
136136
- python-version: "3.14"
137137
cloud-provider: gcp
138138
os: windows-latest-64-cores
139+
# Cap pytest-xdist parallelism — Python 3.14 + Windows 64-core runners
140+
# exhaust threads/memory at -n logical (MemoryError in pytest_timeout
141+
# Timer.start, plus stack overflows in connector ThreadPoolExecutors).
142+
tox-extra-factors: "-lowparallel"
139143
steps:
140144
- name: Checkout Code
141145
uses: actions/checkout@v4
@@ -189,12 +193,13 @@ jobs:
189193
# do not run other tests for macos
190194
- if: ${{ matrix.os != 'macos-latest' }}
191195
name: Run tests (excluding doctests)
192-
run: python -m tox -e "py${PYTHON_VERSION/\./}-notdoctest-ci"
196+
run: python -m tox -e "py${PYTHON_VERSION/\./}-notdoctest${EXTRA_TOX_FACTORS}-ci"
193197
env:
194198
PYTHON_VERSION: ${{ matrix.python-version }}
195199
cloud_provider: ${{ matrix.cloud-provider }}
196200
PYTEST_ADDOPTS: --color=yes --tb=short
197201
TOX_PARALLEL_NO_SPINNER: 1
202+
EXTRA_TOX_FACTORS: ${{ matrix.tox-extra-factors }}
198203
SNOWPARK_PYTHON_API_TEST_BUCKET_PATH: ${{ secrets.SNOWPARK_PYTHON_API_TEST_BUCKET_PATH }}
199204
SNOWPARK_PYTHON_API_S3_STORAGE_INTEGRATION: ${{ vars.SNOWPARK_PYTHON_API_S3_STORAGE_INTEGRATION }}
200205
shell: bash

tox.ini

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,8 +73,12 @@ setenv =
7373
# For AST tests, use just 36 cores, because using more cores sometimes
7474
# causes the test job to fail with exit code 143, which supposedly means
7575
# that it uses too many machine resources.
76-
!doctest-!ast: SNOWFLAKE_PYTEST_PARALLELISM = -n logical
76+
!doctest-!ast-!lowparallel: SNOWFLAKE_PYTEST_PARALLELISM = -n logical
7777
ast: SNOWFLAKE_PYTEST_PARALLELISM = -n 36
78+
# Python 3.14 + Windows 64-core runners hit MemoryError in pytest_timeout's
79+
# Timer.start() and thread-pool stack overflows when running 64 xdist workers,
80+
# so cap parallelism the same way ast tests do.
81+
lowparallel: SNOWFLAKE_PYTEST_PARALLELISM = -n 36
7882
# Snowpark uses 4 workers for daily testing since some of its test jobs use weak MacOS instances.
7983
!doctest: SNOWFLAKE_PYTEST_DAILY_PARALLELISM = -n 6
8084
# Set test type, either notset, unit, integ, or both

0 commit comments

Comments
 (0)