feat(extensions): support bare bases in V2 frameworks
Metadata
Current evaluation
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.
Suggested action: —
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 |
|---|---|---|---|---|
| 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 issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #1086 feat: default to bare base for flask, django and fastapi extensions | rockcraft | merged | Merged. Defaults to bare base for Flask, Django, and FastAPI extensions to reduce image size and attack surface. Approved by four reviewers and merged after CI checks passed. | |
| #1256 feat(extensions): add FastAPI framework V2 extension and factory dispatch | rockcraft | closed | Closed and superseded. Changes were merged into base PR #1259 to reduce review overhead, with the author directing reviewers to that PR instead. |