Move to using PEP 621-style dependency listing
PEP 621 specifies a standard way of listing dependencies meaning we can move away from the poetry-specific tool.poetry.dependencies and to the generic project.dependencies.
- Example of
tool.poetry.dependencies: https://gitlab.developers.cam.ac.uk/uis/devops/regent-house-ballots/ballots-webapp/-/blob/ca28e6954a76787a0232f3f56df1303957322c65/pyproject.toml#L14 - Example of
project.dependencies: https://gitlab.developers.cam.ac.uk/uis/devops/user-notify/ucam-user-notify/-/blob/fb208288c3e2b7576d5e3158ebc5bf4bc7f81431/pyproject.toml#L7
It appears that bumper no-longer re-formats TOML files which means we have an opportunity to collect breaking pyproject.toml changes together in a form which is amenable to copier update, release-it and renovatebot working harmoniously.
If we start pinning exact versions, we need to be timely about releasing updates to this template so that there is not a window of opportunity for renovate to open conflicting MRs in downstream projects. As such, this also provides a good opportunity to investigate "auto merge" for renovate MRs in this repo.
-
Move the existing dependencies to a project.dependenciesstyle. -
Pin exact versions of the dependencies. -
Enable renovate to freshen pyproject.toml dependencies in template/. -
Enable renovate to freshen GitLab CI dependencies in template/. -
Enable automerging of renovate MRs in this project.