← Back to issue list

Scheduled/manual Spread snap build fails when generated version exceeds 32 characters

View original Github issue

Metadata

Project
rockcraft
Number
#1336
Type
issue
State
open
Author
gcomneno
Labels
—
Created
Updated
Closed
—

Current evaluation

Spread (manual - large/flaky) snap-build fails: setuptools-scm post-release version exceeds Snap's 32-char limit because the workflow's yq edit dirties the tree. Root cause identified; still unfixed.

Suggested action: keep open

Reason: Reproduced twice with linked Actions runs and root-caused by the reporter: spread-manual.yaml line 38 runs `yq e 'del(.parts.charmcraft."build-environment"[] | select(.UV_NO_BINARY == "true"))' -i snap/snapcraft.yaml`, and pyproject.toml's `version_scheme = "post-release"` with `git describe --dirty` appends `.d<date>` for a dirty tree, pushing `1.17.0.post146+g3f76c68.d20260906` to 33 characters, which Snapcraft rejects with "Value should have at most 32 items after validation". Maintainer @lengou acknowledged ("We were aware of the length limit for version numbers in snaps, but not that we were running up against it"), and no fix appears in git history for spread-manual.yaml (last touched by 132b18c4). Impact is CI-only — snap-build fails and snap-tests are skipped, not a user-facing app break — which caps impact below the severe range despite the issue being clearly scoped and ready to implement.

Evaluated by: mr-cal-bot

Impact: 55 Quick Win: 33 Complexity: 30 Confidence: 82 Actionability: 87

Issue body

The `Spread (manual - large/flaky)` workflow currently fails during `snap-build` on `main`. I first noticed this on a scheduled run from my fork, then synced the fork to current `canonical/rockcraft:main` (`d9756725`) and reproduced it with a fresh `workflow_dispatch` run: https://github.com/gcomneno/rockcraft/actions/runs/32214626147 The build generates: `1.17.0.post132+gd975672.d20260819` Snapcraft then rejects it because the generated version is 33 characters long: `Value should have at most 32 items after validation, not 33` This causes `snap-build` to fail and `snap-tests` to be skipped. Just flagging this in case it isn't already on the team's radar.

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha
Impact: 55
Quick Win: 33
Complexity: 30
Confidence: 82
Actionability: 87
keep open Spread (manual - large/flaky) snap-build fails: setuptools-scm post-release version exceeds Snap's 32-char limit because the workflow's yq edit dirties the tree. Root cause identified; still unfixed.
stealth/space-bunny-alpha
Impact: 45
Quick Win: 33
Complexity: 22
Confidence: 96
Actionability: 93
keep open Manual Spread's snap build fails when its snapcraft.yaml edit triggers a 33-character dirty version; the failure is reproducible and root-caused but remains unfixed.
stealth/space-bunny-alpha
Impact: 48
Quick Win: 32
Complexity: 24
Confidence: 94
Actionability: 89
keep open Manual/scheduled Spread remains at Snapcraft's 32-character version boundary. A workflow edit dirties setuptools-scm, and increasing commit distance will push generated versions over the limit.
stealth/space-bunny-alpha
Impact: 45
Quick Win: 25
Complexity: 38
Confidence: 96
Actionability: 90
keep open Spread snap builds are blocked on main: a yq edit dirties the checkout, adding a setuptools-scm date suffix that pushes versions past Snapcraft's 32-character limit and skips snap-tests.
qwen/qwen3.6-35b-a3b
Impact: 65
Quick Win: 36
Staleness: 25
Complexity: 45
Confidence: 75
Support Request: 5
keep open CI workflow fails because snap version string exceeds 32-char limit due to dirty git checkout from yq mutation in spread-manual.yaml
qwen3.6-35b-a3b-mtp-q6
Impact: 55
Quick Win: 30
Staleness: 20
Complexity: 45
Confidence: 75
Support Request: 10
keep open Snap-build fails when setuptools_scm post-release version exceeds 32 chars. Acknowledged by maintainer, confirmed with fresh reproduction.
qwen3.6-35b-a3b-mtp-q6
Impact: 65
Quick Win: 36
Staleness: 35
Complexity: 45
Confidence: 75
Support Request: 10
keep open CI snap-build fails because generated version string exceeds snapcraft's 32-character limit; maintainer acknowledged the issue.
qwen/qwen3.6-35b-a3b
Staleness: 5
Complexity: 30
Confidence: 85
Support Request: 10
needs triage CI workflow fails during snap-build because auto-generated version strings exceed snapcraft's 32-character limit. Acknowledged by maintainer, currently under discussion with no labels or assignee.
qwen/qwen3.6-35b-a3b
Staleness: 5
Complexity: 25
Confidence: 90
Support Request: 5
needs triage CI workflow fails during snap-build because the generated version string exceeds snapcraft's 32-character limit, causing builds to fail and tests to be skipped. Currently unlabelled and awaiting maintainer review.

Update history

Date Change
updated
updated
updated
created

Related work

  • Related To: canonical/starbase#337 (confidence 78%)

    @lengou explicitly linked it: the same deprecated setuptools-scm `post-release` version_scheme issue also affects starbase; rockcraft's pyproject.toml still uses `version_scheme = "post-release"`.

Related issues

No related issues found above the similarity threshold.