feat(application): enable opt-in monorepo support
Metadata
Current evaluation
Merged in canonical/rockcraft#1356 (commit 5b168c74), adding opt-in monorepo support via ROCKCRAFT_EXPERIMENTAL_MONOREPO and a packaging how-to for Rockcraft 1.21.
Resolution: closed resolved
Reason: PR #1356 was approved and merged as commit 5b168c74, enabling the environment-variable opt-in and adding documentation. The remaining source-spread failures were assessed by the maintainer as unrelated.
Evaluated by: mr-cal-bot
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 |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Merged in canonical/rockcraft#1356 (commit 5b168c74), adding opt-in monorepo support via ROCKCRAFT_EXPERIMENTAL_MONOREPO and a packaging how-to for Rockcraft 1.21. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged opt-in monorepo support and packaging documentation; ROCKCRAFT_EXPERIMENTAL_MONOREPO enables the feature. Resolution commit: 5b168c74. | |
| stealth/space-bunny-alpha | — | closed resolved | PR #1356 merged opt-in monorepo support using ROCKCRAFT_EXPERIMENTAL_MONOREPO and added a monorepo packaging how-to. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged #1356, adding opt-in monorepo support through ROCKCRAFT_EXPERIMENTAL_MONOREPO and a packing-in-a-monorepo how-to guide. CI passed except source-spread-tests, deemed unrelated. | |
| 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 PR #1109, adding opt-in experimental monorepo builds; commit 8b5db661 mounts the Git root when both the application and user opt in. | |
| #217 repo: add support for package repositories | rockcraft | merged | Merged package-repository support for CRAFT-1553 in rockcraft#217 via commit 2b416602, adding project-defined APT repository handling. | |
| #216 repo: add support for package repositories | rockcraft | closed | Package-repository support was superseded by canonical/rockcraft#217, merged to main as 2b416602 and resolving CRAFT-1553. | |
| #959 Allow Custom Build Contexts | rockcraft | open | Opt-in monorepo support now mounts the enclosing Git repository, allowing subdirectory rockcraft.yaml files to use shared source elsewhere in the repository. |