feat(extensions): support bare bases in V2 frameworks
Metadata
Current evaluation
Merged #1320, adding bare-base support for FastAPI, Go, Flask, Django, and Spring Boot V2 extensions with tests for Ubuntu 24.04/V1 and 26.04/V2 selection.
Resolution: closed resolved
Reason: PR canonical/rockcraft#1320 was approved and merged, implementing bare-base support across the listed V2 framework extensions and adding framework-selection unit coverage.
Evaluated by: mr-cal-bot
No scores available.
Issue body
Add `bare` to the supported bases for the FastAPI, Go, Flask, Django, and Spring Boot V2 extensions. ExpressJS is intentionally excluded because it is covered by #1315.
Add unit coverage proving bare rocks with `build-base: ubuntu@24.04` select V1, while `build-base: ubuntu@26.04` selects V2.
---
- [x] I've followed the [contribution guidelines](https://github.com/canonical/rockcraft/blob/main/CONTRIBUTING.md).
- [x] I've signed the [CLA](http://www.ubuntu.com/legal/contributors/).
- [ ] I've successfully run `make lint && make test`.
- [ ] I've added or updated any relevant documentation.
- [ ] In documents I changed, I [added a meta description](https://canonical-starflow.readthedocs-hosted.com/how-to/add-a-page-meta-description/) if one was missing.
- [ ] I've updated the relevant release notes.
Tested with `uv run pytest -q tests/unit/extensions/test_fastapi.py tests/unit/extensions/test_go.py tests/unit/extensions/test_gunicorn.py tests/unit/extensions/test_springboot.py` (196 passed).
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Merged #1320, adding bare-base support for FastAPI, Go, Flask, Django, and Spring Boot V2 extensions with tests for Ubuntu 24.04/V1 and 26.04/V2 selection. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged in #1320, adding bare-base support to FastAPI, Go, Flask, Django, and Spring Boot V2 extensions, with tests for Ubuntu 24.04/V1 versus 26.04/V2 selection. | |
| qwen/qwen3.6-35b-a3b | — | — | Merged changes adding bare base support to FastAPI, Go, Flask, Django, and Spring Boot V2 extensions. Includes unit tests verifying V1 and V2 selection by Ubuntu build base. Approved by two reviewers and integrated after passing CI. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
5
Complexity:
45
Confidence:
90
|
needs review | Adds bare base support to FastAPI, Go, Flask, Django, and Spring Boot V2 extensions. Includes unit tests for base selection logic. Currently has two approvals, zero unresolved comments, and passing CI checks. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
5
Complexity:
40
Confidence:
85
|
needs review | Adds bare base support to FastAPI, Go, Flask, Django, and Spring Boot V2 extensions with unit tests. Currently approved by one reviewer, but CI shows failing checks for lint, OSV-scanner, and source-spread-tests. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
15
Complexity:
45
Confidence:
85
|
needs review | Adds bare base support to FastAPI, Go, Flask, Django, and Spring Boot V2 extensions with unit tests. Currently awaiting maintainer review and addressing minor CI failures on lint and OSV-scanner. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
5
Complexity:
30
Confidence:
85
|
needs review | Adds bare base support to FastAPI, Go, Flask, Django, and Spring Boot V2 extensions. Includes unit tests for V1/V2 base selection. Currently awaiting maintainer review with CI checks still pending. |
Update history
| Date | Change |
|---|---|
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| created |
Related work
-
Related To:
canonical/rockcraft#1315
(confidence 100%)
ExpressJS was intentionally excluded from #1320 because its related framework handling is covered by merged PR #1315.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #1084 feat: default to bare base for fastapi extension | rockcraft | closed | Superseded by #1086, merged in commit 3fba20c2 to default Flask, Django, and FastAPI extensions to bare bases. | |
| #1087 feat: default to bare base for flask extension | rockcraft | closed | Closed in favor of canonical/rockcraft#1086, which merged as commit 3fba20c2 and expanded the bare-base default to Flask, Django, and FastAPI extensions. | |
| #1259 feat(extensions): extension dispatch for 12-factor extensions. | rockcraft | merged | Merged as commit 644c6950, adding _FrameworkFactory dispatch plus V2 extension classes (Flask, Django, FastAPI, ExpressJS, SpringBoot) targeting ubuntu@26.04; extended later by #1320/#1332/#1345/#1364. |