ci: re-enable macOS smoke tests without Homebrew libgit2
Metadata
Current evaluation
Re-enables macOS smoke tests by using pygit2's vendored libgit2 instead of Homebrew's. Under active review with unresolved permissions issue; author proposing a fix in craft-providers.
Suggested action: keep open
Reason: PR is under active development with 4 unresolved review comments. Reviewer @lengau flagged a permissions issue ('chmod didn't fix it'), and the author is proposing a solution involving uid/gid mapping in craft-providers. CI still fails on macos-smoke-test, confirming the issue is not yet resolved.
Evaluated by: mr-cal-bot
Impact:
45
Quick Win:
11
Complexity:
30
Confidence:
70
Actionability:
35
Issue body
## Summary
- Re-enable `macos-smoke-test` on `macos-14` / `macos-14-large` without Homebrew `libgit2@1.7`, using the pygit2 wheel's vendored libgit2.
- Stop installing Homebrew libgit2 in `install-macos-build-deps`.
- Run `uv lock` after `charmcraft init` so the machine-profile (uv plugin) pack can succeed.
Fixes #2605
## Test plan
- [x] Local: `make setup` on Apple Silicon (no Homebrew libgit2)
- [x] Local: pygit2 imports with vendored `.dylibs`
- [x] Local: Multipass `init` + `uv lock` + `pack` → `*.charm`
- [x] Local: pre-commit / prettier on changed files
- [x] Local: `make test-fast` (3 pre-existing `platforms-multi-base` failures on Apple Silicon; unrelated)
- [ ] CI: `macos-smoke-test` passes on `macos-14` and `macos-14-large`
---
- [x] I've followed the [contribution guidelines](https://github.com/canonical/charmcraft/blob/main/CONTRIBUTING.md).
- [x] I've signed the [CLA](http://www.ubuntu.com/legal/contributors/).
- [ ] I've successfully run `make lint && make test`. *(N/A — CI/Makefile smoke re-enable; verified with local Multipass pack, pre-commit, and `make test-fast`)*
- [ ] 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.
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b |
Impact:
45
Quick Win:
11
Complexity:
30
Confidence:
70
Actionability:
35
|
keep open | Re-enables macOS smoke tests by using pygit2's vendored libgit2 instead of Homebrew's. Under active review with unresolved permissions issue; author proposing a fix in craft-providers. | |
| qwen/qwen3.6-35b-a3b |
Impact:
40
Quick Win:
11
Complexity:
30
Confidence:
75
Actionability:
40
|
keep open | Re-enables macOS smoke tests using pygit2's vendored libgit2 instead of Homebrew libgit2. Has 4 unresolved review comments and failing macOS CI checks. | |
| qwen/qwen3.6-35b-a3b |
Impact:
55
Quick Win:
11
Complexity:
35
Confidence:
75
Actionability:
30
|
needs review | Re-enables macOS smoke tests without Homebrew libgit2, using pygit2's vendored libgit2 instead. CI failing on macOS smoke tests and lint; 4 unresolved review comments; maintainer flagged a permissions issue. | |
| qwen/qwen3.6-35b-a3b |
Impact:
55
Quick Win:
14
Complexity:
25
Confidence:
75
Actionability:
35
|
needs review | Re-enables macOS smoke tests by removing Homebrew libgit2 dependency and using pygit2's vendored libgit2. Has 4 unresolved review comments and a failing lint check. | |
| ~deepseek/deepseek-pro-latest |
Impact:
45
Quick Win:
7
Complexity:
35
Confidence:
70
Actionability:
25
|
keep open | Re-enables macOS smoke tests on macos-14/macos-14-large, drops Homebrew libgit2 install, adds uv lock after init. Failing lint/files, OSV-scanner, and macos-26-intel smoke; 5 unresolved review comments. | |
| ~deepseek/deepseek-pro-latest |
Impact:
35
Quick Win:
7
Complexity:
45
Confidence:
50
Actionability:
35
|
keep open | Re-enables macOS smoke tests on macos-14/macos-14-large, drops Homebrew libgit2 install, adds uv lock after init; has 5 unresolved review comments. | |
| ~deepseek/deepseek-pro-latest |
Impact:
45
Quick Win:
10
Complexity:
35
Confidence:
55
Actionability:
35
|
keep open | Re-enables macOS smoke tests on macos-14/macos-14-large, drops Homebrew libgit2 install, adds uv lock after init; 5 unresolved review comments remain. | |
| ~deepseek/deepseek-pro-latest |
Impact:
45
Quick Win:
7
Complexity:
45
Confidence:
60
Actionability:
30
|
keep open | Re-enables macOS smoke tests on macos-14/macos-14-large without Homebrew libgit2, drops libgit2 from install-macos-build-deps, adds uv lock after init. CI failing on macOS smoke, lint, OSV-scanner; 5 unresolved review comments. | |
| ~deepseek/deepseek-pro-latest |
Impact:
40
Quick Win:
4
Complexity:
45
Confidence:
78
Actionability:
20
|
keep open | Re-enables macOS smoke tests on macos-14/macos-14-large without Homebrew libgit2, drops libgit2 from install-macos-build-deps, adds uv lock after init. CI failing on macOS smoke, lint, OSV-scanner; 5 unresolved review comments. | |
| ~deepseek/deepseek-pro-latest |
Impact:
40
Quick Win:
7
Complexity:
40
Confidence:
55
Actionability:
30
|
keep open | Re-enables macOS smoke tests on macos-14/macos-14-large using pygit2 vendored libgit2, removes Homebrew libgit2 install, adds uv lock after init. CI failing: macos-smoke-test, lint/files, OSV-scanner; 3 unresolved review comments. | |
| stealth/space-bunny-alpha |
Impact:
45
Quick Win:
20
Complexity:
35
Confidence:
82
Actionability:
70
|
needs review | Re-enables macOS smoke tests on macOS 14 runners using pygit2’s vendored libgit2, removes Homebrew libgit2 setup, and runs uv lock before packing; awaiting review and macOS CI validation. | |
| stealth/space-bunny-alpha |
Impact:
40
Quick Win:
15
Complexity:
30
Confidence:
74
Actionability:
52
|
needs review | Re-enables the commented-out macos-smoke-test job on macos-14/macos-14-large, drops Homebrew libgit2 from install-macos-build-deps in favour of pygit2's vendored libgit2, and adds `uv lock` after `charmcraft init`. Fixes #2605; no CI run yet. | |
| stealth/space-bunny-alpha |
Impact:
32
Quick Win:
9
Complexity:
22
Confidence:
76
Actionability:
35
|
needs review | CI-only PR re-enabling the macos-smoke-test job in .github/workflows/tests.yaml (dropping Homebrew libgit2@1.7 in favour of pygit2 wheels) plus a matching Makefile change; macos smoke jobs, lint/files, zizmor and OSV-scanner currently failing. | |
| qwen/qwen3.8-27b |
Impact:
50
Quick Win:
18
Complexity:
20
Confidence:
70
Actionability:
45
|
keep open | Re-enables macos-smoke-test on macos-14/macos-14-large using pygit2's vendored libgit2, drops Homebrew libgit2 from install-macos-build-deps, adds uv lock after init. Fresh PR; 5 CI checks failing incl. the re-enabled macOS job; 7 unresolved review comments. | |
| qwen/qwen3.8-27b |
Impact:
45
Quick Win:
27
Complexity:
20
Confidence:
78
Actionability:
75
|
needs review | Re-enables the macos-smoke-test CI job on macos-14/macos-14-large using pygit2's vendored libgit2 instead of Homebrew libgit2@1.7, removes brew libgit2 from install-macos-build-deps, and adds uv lock after charmcraft init. Fixes #2605. Fresh PR, CLA passing, no failing checks, awaiting first review. | |
| qwen/qwen3.8-27b |
Impact:
45
Quick Win:
20
Complexity:
25
Confidence:
72
Actionability:
60
|
needs review | Re-enables macOS smoke tests on macos-14/14-large by dropping Homebrew libgit2@1.7 in favor of pygit2 wheel's vendored libgit2, and adds a uv lock step for machine-profile packs. Fixes #2605. Fresh, unreviewed, CI only CLA-validated so far. |
Update history
| Date | Change |
|---|---|
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| created |
Related work
-
Related To:
canonical/charmcraft#2605
(confidence 90%)
This PR explicitly fixes #2605 (Re-enable MacOS tests).
-
Related To:
canonical/charmcraft#2606
(confidence 80%)
Related PR that disabled macOS tests; this PR re-enables them.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #2605 Re-enable MacOS tests | charmcraft | open | macOS CI (macos-smoke-test) is commented out since PR #2606 because Homebrew's libgit2@1.7 disappeared. A maintainer-endorsed proposal to drop brew libgit2 and use pygit2 wheels is in progress via PR #2907. | |
| #2606 ci: disable macos tests | charmcraft | merged | Merged PR #2606 (commit df2c6233) temporarily disabled macOS CI tests while issue #2605 investigated the missing Homebrew libgit2 dependency. |