feat(remote-build): add GitRepo class
Metadata
Current evaluation
Merged into main, introducing a GitRepo class for remote builds to resolve #4320. Approved by two reviewers with passing CI and 100% diff coverage. An unrelated spread failure was noted for later investigation.
Suggested action: —
No scores available.
Issue body
- [x] Have you followed the [guidelines for contributing](https://github.com/snapcore/snapcraft/blob/master/CONTRIBUTING.md)?
- [x] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)?
- [x] Have you successfully run `make lint`?
- [x] Have you successfully run `pytest tests/unit`?
-----
Fixes #4320
(CRAFT-1975)
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | Merged into main, introducing a GitRepo class for remote builds to resolve #4320. Approved by two reviewers with passing CI and 100% diff coverage. An unrelated spread failure was noted for later investigation. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged into main. Introduces a GitRepo class for remote builds, resolving issue #4320. Achieved 100% diff coverage with a 0.02% overall increase. An unrelated spread failure was noted for later investigation. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged the GitRepo class for remote builds, resolving #4320 and CRAFT-1975. The change passed all checks with 100% diff coverage. An unrelated spread failure was noted for future investigation. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #4395 feat(remote-build): new command logic | snapcraft | merged | Merged into main. Introduces a RemoteBuild class to orchestrate remote builds, adds local project directory caching, and implements post-build cache cleanup. Resolves #4324. Approved by three reviewers with passing CI and 97.88% diff coverage. | |
| #4370 feat(remote-build): check if project is in a git repository | snapcraft | merged | Merged feature adding git repository detection for remote-build. Falls back to legacy remote-build logic when a project lacks a git repository, resolving issue #4321. Approved by two reviewers and passed CI checks. | |
| #396 feat: add clone and remotes to GitRepo | craft-application | merged | Merged changes adding clone and remote management methods to the GitRepo class. Approved by two reviewers and passing CI, the update introduces repository cloning and remote creation, renaming, and verification functionality. | |
| #310 fix(remote-build): enable git repo check | craft-application | merged | Successfully merged the fix enabling the git repository check for remote builds. Approved by two reviewers, the update modifies two files with 18 additions and 1 deletion, resolving the build configuration issue. | |
| #293 feat(remote-build): allow a user-provided project | craft-application | merged | Merged after two approvals. Enables commands to set a user-provided project for remote builds without additional protections. Changes modify six files (+169/-12). Two unresolved review comments were noted before merge. | |
| #769 feat: add the remote-build command | rockcraft | merged | Merged the remote-build command. Approved by three reviewers, the change adds 86 lines and removes 7 across nine files. Integrated by the maintainer without further comments or CI issues. | |
| #4432 fix(remote-build): improve logging and catch exceptions | snapcraft | merged | Merged pull request improving remote build logging and exception handling. Approved by reviewers, passed CI checks, and resolves issue #4399. | |
| #1546 feat: remote build command | charmcraft | merged | Merged the remote build command feature. Approved by two reviewers and passing CI, the PR rebases prior work and adds remote build functionality. Follow-up issues were created to resolve related build-id recovery and dependency bugs. | |
| #754 feat(git): add API to modify repo configuration | craft-application | merged | Merged pull request adding an API to read and store Git repository configuration values via the GitRepo object. Approved by two reviewers, passed all CI checks, and modified four files (+78/-3). | |
| #2564 remote_build: handle git push in detached head state | snapcraft | merged | Merged fix for remote_build that resolves a detached HEAD exception by returning HEAD instead of failing branch name retrieval. Approved by reviewer and passed CI checks. |