[tooling] Migrate to uv#279
Conversation
|
Hi @jovnc, thank you for your contribution! 🎉 This PR comes from your fork Before you request for a review, please ensure that you have tested your changes locally! Important The previously recommended way of using Please read the following instructions for the latest instructions. PrerequisitesEnsure that you have the Testing stepsIf you already have a local Git-Mastery root to test, you can skip the following step. Create a Git-Mastery root locally: gitmastery setupNavigate into the Git-Mastery root (defaults to cd gitmastery-exercises/Edit the {
# other fields...
"exercises_source": {
"username": "jovnc",
"repository": "exercises",
"branch": "chore/uv"
}
}Then, you can use the gitmastery download <your new change>
gitmastery verifyChecklist
Important To any reviewers of this pull request, please use the same instructions above to test the changes. |
There was a problem hiding this comment.
Pull request overview
This PR migrates the repository’s Python tooling from venv/pip + requirements.txt to uv using a pyproject.toml-based dependency definition and a committed uv.lock, and updates local scripts and GitHub Actions workflows to run via uv.
Changes:
- Add
pyproject.tomland commituv.lock; removerequirements.txt. - Update local helper scripts (
setup.sh,test.sh,test-download.sh,new.sh) andlefthook.ymlcommands to useuv run/uv sync. - Update GitHub Actions workflows to install
uvand run scripts/tests/formatting through it.
Reviewed changes
Copilot reviewed 9 out of 11 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
uv.lock |
Adds the uv lockfile to pin dependency resolution. |
pyproject.toml |
Defines project metadata, Python requirement, and dependency groups for uv. |
requirements.txt |
Removed in favor of pyproject.toml + uv.lock. |
setup.sh |
Switches environment setup to uv sync and installs lefthook via uv run. |
test.sh |
Runs pytest via uv run. |
test-download.sh |
Runs the test-download script via uv run python. |
new.sh |
Runs generator scripts via uv run python. |
lefthook.yml |
Executes ruff/mypy via uv run in git hooks. |
.github/workflows/ci.yml |
Migrates CI jobs (tests, mypy, formatting) to uv. |
.github/workflows/publish.yml |
Migrates the publish workflow to uv and updates checkout action version. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
jiaxinnns
left a comment
There was a problem hiding this comment.
CONTRIBUTING.md setup instructions still mention requirements.txt which has been removed in this PR, it should be updated
Exercise Review
Exercise Discussion
Fixes #278
Checklist
Git-Masteryorganization, have you created a request for it?repo-smithto validate the exercise grading scheme?git-autograder?app?