feat: add a BuildPlan service
Metadata
Current evaluation
Merged addition of a BuildPlan service and create_launchpad_build_plan() method to support remote builds. The change adds 847 lines and removes 125 across five files, updates unit tests, and received two reviewer approvals.
Suggested action: —
No scores available.
Issue body
- [x] Have you followed the [guidelines for contributing](https://github.com/canonical/snapcraft/blob/main/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 `make test`?
---
* Adds a `BuildPlan` service
* Adds a new `create_launchpad_build_plan()` method
* This will be used by the remote-build command in CRAFT-4415
* Reworks the unit tests to exercise the new method and drops all `xfail`s
Creates https://github.com/canonical/craft-application/issues/719
(CRAFT-4417)
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | Merged addition of a BuildPlan service and create_launchpad_build_plan() method to support remote builds. The change adds 847 lines and removes 125 across five files, updates unit tests, and received two reviewer approvals. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged. Introduces a BuildPlan service and create_launchpad_build_plan() method to enable remote builds. Unit tests were reworked and xfails removed. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged addition of a BuildPlan service and create_launchpad_build_plan() method to support remote builds. Unit tests were updated and expected failures removed. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #666 feat!(services): build plan service | craft-application | merged | Merged the build plan service implementation, resolving CRAFT-4159. Approved by two reviewers and passing CI, the change spans 42 files with 1851 additions and 786 deletions. | |
| #362 feat: support platforms for the build plans | rockcraft | merged | Merged feature adding platform support for build plans. Approved by two reviewers, the change modifies eight files (+39/-32 lines) and integrates the functionality. | |
| #5390 chore(remotebuild): use new build planner | snapcraft | merged | Merged remote build updates to adopt the new get_launchpad_build_plan() and remove unit test xfails. Approved by two reviewers, passed CI checks, and integrated. | |
| #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. | |
| #273 feat(project): keep the full build plan for later use | craft-application | merged | Merged to retain the full build plan in the project for remote build execution. Approved by two reviewers with no unresolved comments. The commit modifies one file with a four-line addition and three-line removal. | |
| #196 feat: remote build service | craft-application | merged | Merged the remote build service feature, migrating code from snapcraft. Approved by two reviewers, passed CI checks, and introduced 2316 lines across 26 files. |