← Back to issue list

internal errors for `all` platform

View original Github issue

Metadata

Project
craft-application
Number
#692
Type
issue
State
open
Author
mr-cal
Labels
Created
Updated
Closed

Current evaluation

Pydantic internal error when using 'all' as a platform name in platforms dict instead of a user-friendly validation message. Code still skips vectorising 'all' platforms, leaving them as None. Open 525 days, unlabelled, no maintainer interaction beyond Jira bot.

Suggested action: needs triage

Reason: No labels, no maintainer response, no assignee — only a Jira bot comment from 2025-03-25. The code in _vectorise_platforms still explicitly skips 'all' with 'continue', leaving the value as None and triggering the raw Pydantic error. The issue references #690 (build-on: [all]) which was closed as superseded by this one, confirming it is a distinct, still-unaddressed bug.

Impact: 35 Quick Win: 21.0 Staleness: 75 Complexity: 40 Confidence: 72 Support Request: 10

Issue body

```yaml name: testcraft version: "0.1" base: ubuntu@24.04 platforms: all: parts: my-test: plugin: nil ``` ```bash craft-application/testcraft> python3 ./__main__.py pack testcraft internal error: 1 validation error for dict[literal['platforms'],dict[str,Platform]] platforms.all Input should be a valid dictionary or instance of Platform [type=model_type, input_value=None, input_type=NoneType] For further information visit https://errors.pydantic.dev/2.10/v/model_type ``` It's not surprising for a user to attempt to use `all` in `build-on`. Previously, Snapcraft would get to unmarshal the project and produce a user-friendly error like: ``` > snapcraft pack Bad snapcraft.yaml content: - 'all' cannot be used for 'build-on' (in field 'platforms') ``` Similar to #690

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.8-27b
Impact: 35
Quick Win: 21.0
Staleness: 75
Complexity: 40
Confidence: 72
Support Request: 10
needs triage Pydantic internal error when using 'all' as a platform name in platforms dict instead of a user-friendly validation message. Code still skips vectorising 'all' platforms, leaving them as None. Open 525 days, unlabelled, no maintainer interaction beyond Jira bot.
qwen/qwen3.6-35b-a3b
Staleness: 90
Complexity: 20
Confidence: 80
Support Request: 10
needs triage Reports an internal Pydantic validation error when using all in the platforms field instead of a user-friendly message. Unlabelled and inactive for over a year.
qwen3.6-35b-a3b-mtp-q6
Staleness: 85
Complexity: 20
Confidence: 80
Support Request: 5
needs triage Maintainer reports an internal Pydantic validation error when using platforms: all: in craft-application. Requests a user-friendly error message instead. Unlabelled and inactive for over a year.
qwen3.6-35b-a3b-mtp-q6
Staleness: 85
Complexity: 30
Confidence: 85
Support Request: 10
needs triage Using all in the platforms field causes an internal Pydantic validation error instead of a user-friendly message. An internal Jira ticket was created to fix the validation logic. Status: open, unassigned, awaiting triage.

Update history

No update history recorded yet.

Related work

  • Related To: craft-application#690 (confidence 85%)

    Issue body explicitly says 'Similar to #690'; #690 was closed as superseded by splitting into #692 (this issue).

  • Related To: craft-application#706 (confidence 55%)

    PR #706 'fix: improve the handling of platforms errors' may have partially addressed platform error UX but did not fix the 'all' platform name case specifically.

Related issues

No related issues found above the similarity threshold.