rdmorganiser / rdmorganiser/rdmo

ci: switch (partly) to uv?

Open
#1,474 1 comment 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

type:maintenance
Dominant language
Python
Stars
133
Forks
60
Avg merge
3d 14h
Merged PRs (30d)
21

Description

Following up on #1470, I would like to propose using uv and the setup-uv action in ci.

I would like to discuss.

Easy

  1. uv tree can replace pipdeptree

Decision needed

  1. can uv sync --all-extras be used in the ci step that tests installation of all dependency groups? I would then not use the pre-built wheel of rdmo from the previous step.
  2. maybe the pre-built wheel is most important for the end-to-end tests, where testing backend plus compiled js frontend is tested?

Open questions

  1. should uv be used even more?
  2. add a lockfile for devs and ci runs? this could pin the versions of dependencies while working on a release, no more arguments over i used this version vs you used another
  3. but this lockfile would not be used in production
  4. should we switch to uv build backend vs setuptools?

I am in favor of the first three suggestions. What do you think?

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by inspecting the existing CI steps that use pipdeptree, install dependency groups, build the rdmo wheel, and run end-to-end tests. Compare those workflows with uv and setup-uv, then resolve the listed questions about sync, lockfiles, and the build backend; done means the agreed CI changes work consistently without weakening installation or end-to-end coverage.

Written by the indexing model from the issue text.

Assessment

Tech stack
github-actions, python
Domain
build-system, ci-cd
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.