feat: opt into git-driven build root via CHARMCRAFT_EXPERIMENTAL_MONOREPO
Metadata
Current evaluation
Merged in #2836 (commit e06d40c1): adds CHARMCRAFT_EXPERIMENTAL_MONOREPO env var and APP_METADATA.allow_git_build_root so charmcraft packs charms from a monorepo, with unit and spread tests.
Resolution: closed resolved
Reason: PR #2836 was approved and merged as commit e06d40c1, adding const.EXPERIMENTAL_MONOREPO_ENV_VAR, setting allow_git_build_root=True in APP_METADATA (charmcraft/application/main.py:53), and adding unit plus spread tests (tests/spread/commands/git-build-root/). The feature shipped in Charmcraft 4.5 per docs/release-notes/charmcraft-4.5.rst, resolving CHARMCRAFT-710 and CHARMCRAFT-720.
Evaluated by: mr-cal-bot
Issue body
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Merged in #2836 (commit e06d40c1): adds CHARMCRAFT_EXPERIMENTAL_MONOREPO env var and APP_METADATA.allow_git_build_root so charmcraft packs charms from a monorepo, with unit and spread tests. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged in #2836 (e06d40c1), adding CHARMCRAFT_EXPERIMENTAL_MONOREPO to opt into a git-driven build root for monorepos, with unit and spread test coverage. | |
| qwen/qwen3.6-35b-a3b | — | — | Merged. Adds CHARMCRAFT_EXPERIMENTAL_MONOREPO env var to enable a git-driven build root. When set, it configures allow_git_build_root=True, mounting the repository root as the build directory for monorepo support. Fixes CHARMCRAFT-710 and CHARMCRAFT-720. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
5
Complexity:
35
Confidence:
90
|
needs review | Adds CHARMCRAFT_EXPERIMENTAL_MONOREPO env var to enable git-driven build roots for monorepos. Sets allow_git_build_root=True in APP_METADATA. Includes unit and spread tests. Approved by 2 reviewers, CI passing, pending spread/snap-store tests. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
5
Complexity:
30
Confidence:
90
|
needs review | Adds an experimental environment variable to enable git-driven build roots for monorepos, updates craft-application to v7.2, and adds unit and spread tests. Currently approved by one reviewer with passing CI checks. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
5
Complexity:
25
Confidence:
85
|
needs review | Enables git-driven build roots for monorepo support via CHARMCRAFT_EXPERIMENTAL_MONOREPO env var. Sets allow_git_build_root=True, adds tests, and fixes CHARMCRAFT-710/720. Currently approved by one reviewer with most CI checks passing and a few pending. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
5
Complexity:
35
Confidence:
90
|
needs review | Enables opt-in git-driven build root for monorepos via CHARMCRAFT_EXPERIMENTAL_MONOREPO env var. Sets allow_git_build_root=True in APP_METADATA. Approved by 1 reviewer, CI passing, ready for merge. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
5
Complexity:
35
Confidence:
90
|
needs review | Introduces experimental monorepo support by enabling allow_git_build_root via the CHARMCRAFT_EXPERIMENTAL_MONOREPO environment variable. Includes unit and spread tests. Currently pending maintainer review with two unresolved comments and pending snap tests. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
5
Complexity:
40
Confidence:
90
|
needs review | Enables git-driven build roots for monorepos via CHARMCRAFT_EXPERIMENTAL_MONOREPO env var. Sets allow_git_build_root in app metadata, adds unit and spread tests. Currently pending maintainer review with 2 unresolved comments and pending snap CI checks. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
5
Complexity:
45
Confidence:
85
|
needs review | Enables git-driven build roots for monorepos via CHARMCRAFT_EXPERIMENTAL_MONOREPO env var. Sets allow_git_build_root metadata, adds unit and spread tests. Currently pending maintainer review with CI passing. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
5
Complexity:
25
Confidence:
85
|
needs review | Enables git-driven build roots for monorepos via CHARMCRAFT_EXPERIMENTAL_MONOREPO env var. Sets allow_git_build_root=True in APP_METADATA. Includes unit and spread tests. Currently pending maintainer review with 2 unresolved comments and passing CI. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
5
Complexity:
35
Confidence:
85
|
needs review | Enables monorepo support by allowing git-driven build roots via CHARMCRAFT_EXPERIMENTAL_MONOREPO env var. Adds config, unit tests, and spread tests. Currently pending maintainer review with 2 unresolved comments and passing CI. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
5
Complexity:
40
Confidence:
90
|
needs review | Enables git-driven build roots for monorepos via CHARMCRAFT_EXPERIMENTAL_MONOREPO env var. Sets allow_git_build_root metadata, adds unit and spread tests. Currently pending maintainer review with 2 unresolved comments, all CI checks passing. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
5
Complexity:
35
Confidence:
85
|
needs review | Enables git-driven build roots for monorepos via CHARMCRAFT_EXPERIMENTAL_MONOREPO env var. Sets allow_git_build_root in APP_METADATA. Includes unit and spread tests. Currently pending maintainer review with 2 unresolved comments and some CI checks still running. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
5
Complexity:
35
Confidence:
85
|
needs review | Introduces an experimental environment variable to enable git-driven build roots for monorepo support. Adds configuration handling, unit tests, and spread tests. Currently awaiting maintainer review with passing CI checks. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
0
Complexity:
30
Confidence:
95
|
needs review | Adds opt-in environment variable CHARMCRAFT_EXPERIMENTAL_MONOREPO to enable git-driven build roots for monorepos. Sets allow_git_build_root in APP_METADATA. Includes unit and spread tests. Currently pending maintainer review with passing CI. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
5
Complexity:
25
Confidence:
80
|
needs review | Introduces CHARMCRAFT_EXPERIMENTAL_MONOREPO env var to enable git-driven build roots for monorepo charms. Currently awaiting maintainer review with CI checks pending. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
5
Complexity:
45
Confidence:
90
|
needs review | Adds opt-in environment variable to enable git-driven build root for monorepo support. Currently pending maintainer review with unresolved comments and CI checks still running. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
5
Complexity:
45
Confidence:
85
|
needs review | Enables git-driven build roots for monorepos via CHARMCRAFT_EXPERIMENTAL_MONOREPO env var. Updates craft-application dependency, adds tests, and sets allow_git_build_root. Currently pending maintainer review with 2 unresolved comments and pending CI checks. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
5
Complexity:
45
Confidence:
85
|
needs review | Enables git-driven build roots for monorepos via CHARMCRAFT_EXPERIMENTAL_MONOREPO env var. Updates craft-application dependency and adds tests. Currently pending maintainer review with unresolved comments and failing slow CI checks. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
5
Complexity:
45
Confidence:
85
|
needs review | Adds environment variable to enable git-driven build roots for monorepo support, updates craft-application dependency, and adds unit/spread tests. Currently pending maintainer review with unresolved comments and CI checks. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
5
Complexity:
45
Confidence:
80
|
needs review | Adds experimental monorepo support by enabling a git-driven build root via CHARMCRAFT_EXPERIMENTAL_MONOREPO env var. Currently pending maintainer review with 2 unresolved comments and some failing CI checks. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
5
Complexity:
45
Confidence:
90
|
needs review | Introduces CHARMCRAFT_EXPERIMENTAL_MONOREPO env var to enable git-driven build roots for monorepo support. Updates craft-application dependency, adds unit and spread tests, and resolves internal tickets. Currently pending review with unresolved comments and failing CI checks. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
5
Complexity:
40
Confidence:
85
|
needs review | Adds CHARMCRAFT_EXPERIMENTAL_MONOREPO env var to opt into git-driven build roots for monorepo support. Currently pending maintainer review with CI checks passing or in progress. |
Update history
| Date | Change |
|---|---|
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| created |
Related work
-
Related To:
canonical/charmcraft#2835
(confidence 88%)
Part of the same monorepo support stack; merged as 4dd1ae35 fixing part_build_subdir charm source copy for plugins.
-
Related To:
canonical/charmcraft#2840
(confidence 80%)
Listed in the PR's stack; replaced deleted mysql charmlib in store integration tests, enabling the required CI jobs.
-
Related To:
canonical/charmcraft#2842
(confidence 80%)
Listed in the PR's stack; updated craft-application to ~=7.2 providing the git build root support used here.
-
Related To:
canonical/charmcraft#2839
(confidence 70%)
Issue fixed by the companion PR #2835 in the same monorepo effort.
-
Related To:
charmcraft#0
(confidence 0%)
No commit reference available for follow-up docs commits fcfd03a4 and 0d0cc003 (monorepo how-to guide and release notes).
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #2761 feat(PROTOTYPE): git build-root for monorepos | charmcraft | closed | Prototype PR for git build-root monorepo support was closed unmerged; @mr-cal marked it superseded by PR #2836, which merged (e06d40c1) adding opt-in CHARMCRAFT_EXPERIMENTAL_MONOREPO git-driven build root. | |
| #2573 Support referencing sibling directories of project root | charmcraft | closed | Resolved experimentally by opt-in Git-root builds: PR #2836 (commit e06d40c1) added CHARMCRAFT_EXPERIMENTAL_MONOREPO, with craft-application PR #1109 supporting the underlying project-root behavior. | |
| #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. | |
| #1079 Do not ignore symlinks to external files | charmcraft | closed | Symlinks to files outside the charm project were skipped during packing. Closed as resolved: PR #2836 (commit e06d40c1) added opt-in CHARMCRAFT_EXPERIMENTAL_MONOREPO, mounting the enclosing git repo root into the build instance; shipped in Charmcraft 4.5 with docs and spread tests. | |
| #1546 feat: remote build command | charmcraft | merged | Merged PR #1546 as df5e9c4f, adding Charmcraft 3's remote-build command; bundle builds were addressed separately by merged PR #1550 (c73fd609). |