opensafely-core / opensafely-core/osgithub
Update to latest repo-template and uv
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 0
- Forks
- 0
- Avg merge
- 2d 20h
- Merged PRs (30d)
- 9
Description
Refer to https://github.com/opensafely-core/repo-template
Note: you probably want to commit with --no-verify until the justfile is updated and committed; otherwise pre-commit hooks will use old justfile commands and fail confusingly.
- Update dependabot.yml for github actions to include 7 day cooldown
- Move dependencies from requirements.prod.in into pyproject.toml
[project] - Copy tool.uv section from repo-template and move dev dependencies from requirements.dev.in into pyproject.toml
[dependency groups](remove pip and pip-tools if they're in the dependencies) - Delete requirements.* files
- Add a .python-version file (if there isn't one already)
- Update justfile with repo-template recipes; note that
devenvis not required for most recipes anymore (but recipes that require a .env file may need_dotenvsetup). In addition to adding the new recipes/versions of recipes for uv, update any extra ones that do e.g.python ...touv run python ... - Run
just cleanto remove any old venv - Run
just devenv,just check/test/runto make sure things work and generate a uv.lock - Run
just update-dependenciesand check that works too, and theexclude-newertimestamp in pyproject.toml and uv.lock has been correctly updated to 7 days ago - Update pre-commit config if necessary (compare with repo-template)
- Update Dockerfiles to use uv (following repo-template Dockerfile)
- Ensure that .python-version and pyproject.toml are not ignored in the .dockerignore file
- Run just docker/build to check it's working
- Update DEVELOPERS.md to include sections from repo-template on using uv and updating dependencies
- Update GHA workflows; any jobs that use setup-action will need to add:
install-uv: true
cache: uv
But you can remove the python version unless you have anything in a workflow job that runs python without using uv.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Compare the repository's dependabot.yml, requirements.* files, pyproject.toml, justfile, Dockerfiles, .dockerignore, pre-commit configuration, DEVELOPERS.md, and GHA workflows with repo-template. Start by reviewing the referenced template and current project files, then run the listed just commands as changes are made. Done means the checklist is complete, uv.lock is generated, dependency updates and Docker builds work, and the checks pass.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, github-actions, python
- Domain
- build-system, ci-cd, developer-experience, devops, documentation
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100