Use uv sync --frozen in CI workflows for deterministic builds#259
Use uv sync --frozen in CI workflows for deterministic builds#259
uv sync --frozen in CI workflows for deterministic builds#259Conversation
|
|
Co-authored-by: Borda <6035284+Borda@users.noreply.github.com>
Co-authored-by: Borda <6035284+Borda@users.noreply.github.com>
uv sync --frozen in CI workflows for deterministic builds
There was a problem hiding this comment.
Pull request overview
Updates the repository’s GitHub Actions workflows to install Python dependencies via uv sync --frozen so CI uses uv.lock for deterministic, reproducible environments.
Changes:
- Replaced
uv pip install -r pyproject.toml --group <group>withuv sync --frozen --group <group>across CI workflows. - Ensured workflows use the lockfile as-is in CI (via
--frozen) for consistent dependency resolution.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| .github/workflows/ci-tests.yml | Switch dev dependency installation to uv sync --frozen --group dev. |
| .github/workflows/ci-integration-tests.yml | Switch dev dependency installation to uv sync --frozen --group dev. |
| .github/workflows/ci-build-docs.yml | Switch docs dependency installation to uv sync --frozen --group docs. |
| .github/workflows/publish-docs.yml | Switch docs dependency installation to uv sync --frozen --group docs. |
| .github/workflows/build-package.yml | Switch build dependency installation to uv sync --frozen --group build before packaging steps. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
|
||
| - name: 🚀 Install Packages | ||
| run: uv pip install -r pyproject.toml --group dev | ||
| run: uv sync --frozen --group dev |
There was a problem hiding this comment.
This workflow pins astral-sh/setup-uv to v7.2.0 while the other CI workflows are on v7.2.1. Consider aligning the action version/commit across workflows so uv setup behavior stays consistent everywhere.
CI workflows were using
uv pip install -r pyproject.toml --group <group>, which doesn't leverage the lockfile. Replaced withuv sync --frozen --group <group>for deterministic, reproducible builds.Changes
Before:
After:
Modified workflows
ci-tests.yml→--group devci-integration-tests.yml→--group devbuild-package.yml→--group buildci-build-docs.yml→--group docspublish-docs.yml→--group docsThe
--frozenflag ensures uv.lock is used exactly as-is without updates during CI runs.💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.