feat(remote-build): check base before executing
Metadata
Current evaluation
Merged into main as commit 128e0acb2. Added base validation before remote-build, allowing fallback for core20/core22 while rejecting unsupported bases and fixing #4318.
Resolution: closed resolved
Reason: PR #4343 was merged as commit 128e0acb2. The change adds the requested base checks and fallback rules, explicitly fixing #4318.
Evaluated by: mr-cal-bot
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`?
-----
Check the base of the project before executing remote-build.
Behavior:
- unknown bases: `SnapcraftError`
- `core` and `core18`: `MaintenanceError`
- `core20` and `core22`: may use fallback remote-build behavior
- `devel` (and `core24` when ready): cannot use fallback-remote build behavior
Fixes #4318
(CRAFT-1972)
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Merged into main as commit 128e0acb2. Added base validation before remote-build, allowing fallback for core20/core22 while rejecting unsupported bases and fixing #4318. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged in 128e0acb2 via #4343, adding base checks before remote-build and resolving #4318; core20/core22 permit fallback, while unsupported bases are rejected. | |
| qwen/qwen3.6-35b-a3b | — | — | Merged after reviewer approval and passing CI. Adds base validation before remote-build execution, raising errors for unsupported bases and enabling fallback for core20/core22. Resolves #4318. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged into main, adding base validation before remote-build execution. Resolves #4318 by enforcing strict error handling or fallback logic per base. Achieved 100% diff coverage. Commit message adjusted per reviewer feedback. |
Update history
No update history recorded yet.
Related work
-
Related To:
snapcraft#4318
(confidence 100%)
PR #4343 explicitly states that it fixes the remote-build base-control issue in #4318.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #4396 fix(remote-build): warn instead of error when using unsupported bases | snapcraft | merged | Merged #4396 via commit 5d19d28bd to make remote-build warn instead of fail for unsupported bases, fixing #4357. | |
| #36 project: support build-base and allow 'bare' bases | rockcraft | merged | Merged in #36 as commit 5a27aca4, adding build-base, bare bases, and Ubuntu 22.04 support; follow-up commit d1a5f04c corrected a bare-base rebuild bug. | |
| #6090 feat(remote-build/legacy): improve error when building with --build-for | snapcraft | merged | Merged PR #6090 improved legacy remote-builder errors for core20, clarifying that --build-for requires shorthand architectures because of Launchpad limitations. It addresses #5817 and supersedes #5819. | |
| #1795501 Better base detection | snapcraft (launchpad) | closed | Build-environment base detection was fixed by merged PR #2309 (commit 3565ed2e7); PR #2311 also corrected legacy re-exec behavior. | |
| #4353 feat(remote-build): check SNAPCRAFT_REMOTE_BUILD_STRATEGY envvar | snapcraft | merged | Merged PR #4353 (commit 2eddbfe6c) added handling of SNAPCRAFT_REMOTE_BUILD_STRATEGY (disable-fallback/force-fallback) for core22-and-older bases, closing issue #4319 (CRAFT-1974). | |
| #2757 Drop build_base check from make plugin. It is universal. | snapcraft | closed | Closed unmerged and superseded by #2761, which delivered the full Core20-base solution and removed the make plugin's restrictive build_base check; the work later merged via #3579. | |
| #598 feat: allow for multi-base builds | craft-application | merged | Merged as d81c39a7; allowed bases in platform entries so applications can implement multi-base build plans, fixing #569 (CRAFT-3719). |