Skip to content
Open
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .github/workflows/pypi-build-artifacts.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ jobs:
3.11
3.12
3.13
3.14

- name: Install UV
uses: astral-sh/setup-uv@5a095e7a2014a4212f075830d4f7277575a9d098 # v7.3.1
Expand All @@ -75,7 +76,7 @@ jobs:
env:
# Ignore 32 bit architectures
CIBW_ARCHS: "auto64"
CIBW_PROJECT_REQUIRES_PYTHON: ">=3.10,<3.14"
CIBW_PROJECT_REQUIRES_PYTHON: ">=3.10,<3.15"
# Keep these in sync with Python CI job `cibw-dev-env-smoke-test`
# in .github/workflows/python-ci.yml to catch import-time regressions early.
CIBW_BEFORE_TEST: "uv sync --directory {project} --only-group dev --no-install-project"
Expand Down
4 changes: 3 additions & 1 deletion .github/workflows/python-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ jobs:
max-parallel: 15
fail-fast: true
matrix:
python: ['3.10', '3.11', '3.12', '3.13']
python: ['3.10', '3.11', '3.12', '3.13', '3.14']

steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
Expand Down Expand Up @@ -97,6 +97,8 @@ jobs:
run: make install
- name: Run integration tests with coverage
run: COVERAGE=1 make test-integration
env:
RAY_ENABLE_UV_RUN_RUNTIME_ENV: "0"
Copy link
Copy Markdown
Contributor

@kevinjqliu kevinjqliu May 1, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

https://github.com/ray-project/ray/blob/1c7c90775cc56ced98ef24754e790e2d0d9c732e/python/ray/_private/ray_constants.py#L537-L549

should we set this in the ray_session test fixture instead?
so it works outside of CI

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I actually tried that initially, but it cannot be done because the ray uv hook looks at the parent uv run process, including the env vars, at it's import time. So by the time it gets to the ray_session test fixture and does the ray.init(), the new env var is not refreshed to be picked up.
I tested using the same commands (PYTHON=3.14 make test : PYTHON=3.14 RAY_ENABLE_UV_RUN_RUNTIME_ENV=0 make test-integration) that you mentioned, and something to keep in mind for next is that including them in the pr description would be helpful.
What we can do is remove this change in python-ci.yml and make the following change instead
https://github.com/apache/iceberg-python/blob/main/Makefile#L118
RAY_ENABLE_UV_RUN_RUNTIME_ENV=0 $(TEST_RUNNER) pytest tests/ -m integration $(PYTEST_ARGS)

- name: Show debug logs
if: ${{ failure() }}
run: docker compose -f dev/docker-compose-integration.yml logs
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/svn-build-artifacts.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ jobs:
3.11
3.12
3.13
3.14
- name: Install UV
uses: astral-sh/setup-uv@5a095e7a2014a4212f075830d4f7277575a9d098 # v7.3.1
Comment thread
kevinjqliu marked this conversation as resolved.
Expand Down
1 change: 1 addition & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ classifiers = [
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
]
dependencies = [
"mmh3>=4.0.0,<6.0.0",
Expand Down
1 change: 0 additions & 1 deletion tests/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -3036,7 +3036,6 @@ def ray_session() -> Generator[Any, None, None]:

ray.init(
ignore_reinit_error=True,
runtime_env={"working_dir": None}, # Prevent Ray from serializing the working directory to workers
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why is this removed?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

RAY_ENABLE_UV_RUN_RUNTIME_ENV is essentially replacing this. None was being passed in to prevent ray from initializing on workers, taking advantage of a bug in ray. Ray has since fixed this bug, preventing None from being passed in for working_dir

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, raised an issue for this earlier today: #3318

Thanks for fixing

)
yield ray
ray.shutdown()
Expand Down
Loading
Loading