feat(application): enable opt-in monorepo support
Metadata
Current evaluation
Merged opt-in monorepo support via the ROCKCRAFT_EXPERIMENTAL_MONOREPO environment variable and documentation. Approved by four reviewers and merged after passing CI, with unrelated spread test failures dismissed.
Suggested action: —
No scores available.
Issue body
Enables monorepo support with the `ROCKCRAFT_EXPERIMENTAL_MONOREPO` environment variable.
Also adds a [how-to](https://canonical-rockcraft--1356.com.readthedocs.build/1356/how-to/crafting/pack-a-rock-in-a-monorepo/) page.
Similar to https://github.com/canonical/charmcraft/pull/2836 and https://github.com/canonical/charmcraft/pull/2844.
(ROCKCRAFT-320)
---
- [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/).
- [x] I've successfully run `make lint && make test`.
- [x] I've added or updated any relevant documentation.
- [x] 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.
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged opt-in monorepo support via the ROCKCRAFT_EXPERIMENTAL_MONOREPO environment variable and documentation. Approved by four reviewers and merged after passing CI, with unrelated spread test failures dismissed. |
Update history
| Date | Change |
|---|---|
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| created |
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #1109 feat: opt-in experimental monorepo support | craft-application | merged | Merged experimental monorepo support. Setting allow_git_build_root=True and the APP_NAME_EXPERIMENTAL_MONOREPO env var causes the provider to mount the git root to /root/project. Approved and passed CI. |