Conversation
…into migrate-pyproject
…into migrate-pyproject
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…nto migrate-ci-to-uv
There was a problem hiding this comment.
Pull request overview
This PR migrates the Flower framework project's CI and local developer workflows from Poetry to uv. uv was already being used by the devtool project, and this change completes the migration by updating all GitHub Actions workflows, shell scripts, and documentation to use uv sync, uv run, uv build, and uv publish instead of Poetry commands. The bootstrap action is also simplified by removing the poetry-skip and uv-skip optional flags, making uv always available.
Changes:
- Updated
.github/actions/bootstrap/action.ymlto always install uv (removing Poetry and related skip flags) - Updated all
.github/workflows/*.ymlCI jobs to useuv sync --frozenanduv run --no-syncinstead ofpython -m poetry installand direct script calls - Updated
framework/pyproject.tomlto add[tool.uv]and[tool.uv.sources]configuration, and[tool.coverage.run]data_file config - Updated
framework/dev/*.shscripts to useuv buildanduv publish - Updated documentation (
framework/docs/source/*.rst,dev/README.md,framework/uv.md) to reflect the uv-based workflow
Reviewed changes
Copilot reviewed 29 out of 30 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
.github/actions/bootstrap/action.yml |
Removed Poetry/uv skip flags; uv is now always installed |
.github/workflows/framework-test.yml |
Migrated install+run steps to uv |
.github/workflows/framework-e2e.yml |
Migrated install+run steps to uv, removed poetry-skip |
.github/workflows/framework-release.yml |
Replaced poetry publish with uv publish |
.github/workflows/framework-release-nightly.yml |
Replaced poetry version with tomllib for name/version extraction |
.github/workflows/framework-docs.yml |
Migrated install and doc build steps to uv |
.github/workflows/framework-docs-update-translations.yml |
Migrated to uv commands |
.github/workflows/framework-devtools.yml |
Migrated to uv commands |
.github/workflows/build-deploy-non-framework-docs.yml |
Migrated to uv; removed uv-skip |
.github/workflows/intelligence-docs.yml |
Removed explicit uv/poetry flags (now defaults) |
.github/workflows/datasets-e2e.yml |
Removed now-obsolete uv-skip/poetry-skip flags |
.github/workflows/datasets-test.yml |
Removed now-obsolete uv-skip/poetry-skip flags |
.github/workflows/repo-check-pr-title.yml |
Removed poetry-skip flag |
framework/pyproject.toml |
Added [tool.uv], [tool.uv.sources], [tool.coverage.run] |
framework/dev/test.sh |
Added RAY_ENABLE_UV_RUN_RUNTIME_ENV=0 for pytest under uv |
framework/dev/build.sh |
Replaced poetry build with uv build --clear |
framework/dev/publish-nightly.sh |
Replaced poetry build/publish with uv build/publish |
framework/uv.md |
New documentation file for uv usage |
framework/docs/source/*.rst |
Updated all Poetry references to uv |
dev/README.md |
Updated to reflect framework also using uv |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| curl $tar_url --output dist/$tar_name | ||
|
|
||
| python -m poetry publish -u __token__ -p ${{ secrets.PYPI_TOKEN_RELEASE_FLWR }} | ||
| uv publish --token ${{ secrets.PYPI_TOKEN_RELEASE_FLWR }} |
There was a problem hiding this comment.
The --token argument in uv publish --token ${{ secrets.PYPI_TOKEN_RELEASE_FLWR }} is not quoted. In GitHub Actions, ${{ secrets.PYPI_TOKEN_RELEASE_FLWR }} is inlined directly into the shell command, so the token value should be quoted to prevent word splitting and other shell issues. The token should be passed as --token "${{ secrets.PYPI_TOKEN_RELEASE_FLWR }}" or, better yet, provided via an environment variable that is then referenced as a quoted shell variable.
| uv publish --token ${{ secrets.PYPI_TOKEN_RELEASE_FLWR }} | |
| uv publish --token "${{ secrets.PYPI_TOKEN_RELEASE_FLWR }}" |
|
|
||
| (your-env-name) $ pip install poetry==2.3.2 | ||
|
|
||
| 3. Install ``uv``, which is used to manage dependencies and development workflows. |
There was a problem hiding this comment.
Step 3 instructs contributors to "Install uv" but provides no specific installation command or reference. The previous version had an explicit pip install poetry==2.3.2 command. While the prerequisites section links to the uv docs, it would be clearer to include the recommended installation command here (e.g., curl -LsSf https://astral.sh/uv/install.sh | sh) or at least a link to the uv installation page.
| 3. Install ``uv``, which is used to manage dependencies and development workflows. | |
| 3. Install ``uv``, which is used to manage dependencies and development workflows. You | |
| can install it by following the `official installation instructions | |
| <https://docs.astral.sh/uv/getting-started/installation/>`_ or, on Unix-like | |
| systems, by running: | |
| :: | |
| $ curl -LsSf https://astral.sh/uv/install.sh | sh |
Merge after #6679