← Back to issue list

Discuss/investigate moving to tox + pyproject.toml

View original Github issue

Metadata

Project
rockcraft
Number
#285
Type
issue
State
open
Author
tigarmo
Labels
—
Created
Updated
Closed
—

Current evaluation

Build configuration was consolidated differently: pyproject.toml and uv/Make tooling are active, while setup.py, setup.cfg, and tox.ini were removed; the open proposal is superseded.

Suggested action: close resolved

Reason: Commit bc45bedf (#751) migrated setup.py to pyproject.toml, and 9e259450 removed tox.ini as unused; the active build path is now pyproject.toml with uv and Makefile/common.mk. This resolves the original mixed-configuration concern through an evolved architecture, despite PR #740's tox-focused attempt being closed unmerged.

Evaluated by: mr-cal-bot

Impact: 30 Quick Win: 5 Complexity: 58 Confidence: 94 Actionability: 40

Issue body

### What needs to get done The current code base has a mix of `tox.ini`, `Makefile`, `setup.py`, `setup.cfg` and `pyproject.toml`. We should look into keeping just tox.ini and pyproject.toml (plus the various `requirements*.txt` pins), to be closer to Starbase. ### Why it needs to get done Mostly for our own sanity, and to take advantage of the fact that we're still `edge`: I would prefer to have a "cleaner house" before we call it `stable`.

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha
Impact: 30
Quick Win: 5
Complexity: 58
Confidence: 94
Actionability: 40
close resolved Build configuration was consolidated differently: pyproject.toml and uv/Make tooling are active, while setup.py, setup.cfg, and tox.ini were removed; the open proposal is superseded.
stealth/space-bunny-alpha
Impact: 18
Quick Win: 2
Complexity: 40
Confidence: 88
Actionability: 20
close resolved Housekeeping proposal to collapse tox.ini/Makefile/setup.py/setup.cfg into tox.ini+pyproject.toml. Goal effectively achieved: setup.py/setup.cfg and tox.ini no longer exist, deps live in pyproject.toml, builds run via uv+Makefile.
stealth/space-bunny-alpha
Impact: 28
Quick Win: 7
Complexity: 50
Confidence: 48
Actionability: 50
keep open Maintainer housekeeping task: consolidate the mixed tox.ini/Makefile/setup.py/setup.cfg/pyproject.toml build config down to tox.ini + pyproject.toml before rockcraft goes stable. No discussion yet; attempt PR #740 was closed unmerged.
qwen/qwen3.6-35b-a3b
Impact: 30
Quick Win: 19
Complexity: 20
Confidence: 70
Actionability: 80
close resolved Build tooling consolidation from mix of tox.ini, Makefile, setup.py, setup.cfg to pyproject.toml. tox.ini has been removed and pyproject.toml is now the primary config.
qwen/qwen3.8-27b
Impact: 15
Quick Win: 9
Staleness: 75
Complexity: 40
Confidence: 80
Support Request: 5
close stale Maintainer task to consolidate rockcraft's build config (tox.ini, Makefile, setup.py, setup.cfg, pyproject.toml) toward starbase. Effectively done: setup.py/setup.cfg removed in #751, tox.ini removed, and the project fully migrated to starbase (uv + Makefile).
qwen/qwen3.6-35b-a3b
Staleness: 90
Complexity: 40
Confidence: 70
Support Request: 5
needs triage Proposal to consolidate build configuration to tox.ini and pyproject.toml. Unlabelled, zero maintainer comments, and inactive for over a year.
qwen3.6-35b-a3b-mtp-q6
Staleness: 90
Complexity: 30
Confidence: 80
Support Request: 5
close stale Maintenance task proposing to consolidate build configuration files into tox.ini and pyproject.toml. The issue has been open for over three years with no comments or maintainer engagement, indicating it is likely stale.

Update history

No update history recorded yet.

Related work

  • Likely Fixed By: canonical/rockcraft#751 (confidence 99%)

    Commit bc45bedf from PR #751 migrated setup.py to pyproject.toml.

  • Related To: canonical/rockcraft#740 (confidence 98%)

    A prior consolidation attempt was closed without being merged.

  • Related To: starbase#53 (confidence 90%)

    Explicit Starbase analogue for moving tox dependencies into pyproject.toml.

Related issues

Issue Project State Summary Similarity
#53 tox: move deps from tox.ini into pyproject.toml starbase merged PR #53 by lengau merged, relocating tox dependency declarations from tox.ini into pyproject.toml (commit 4adb069; +19/-29 across tox.ini and pyproject.toml).
76%
#542 init template: replace run_tests, requirements-dev etc. with tox.ini and pyproject.toml charmcraft closed The proposed tox.ini/pyproject.toml structure landed with multiple init profiles in #854 (21b83fb0), expanded by #859 (451c399a) and #868 (a6c21119).
71%
#740 build: replace setup.py and setup.cfg with pyproject.toml rockcraft closed Closed unmerged; its setup.py/setup.cfg-to-pyproject.toml migration was superseded by merged PR #751 in commit bc45bedf.
70%