Skip to content

Probe whether Charmcraft 4 packs a bases:-only charm - #69

Open
github-actions[bot] wants to merge 1 commit into
mainfrom
probe/issue-68
Open

Probe whether Charmcraft 4 packs a bases:-only charm#69
github-actions[bot] wants to merge 1 commit into
mainfrom
probe/issue-68

Conversation

@github-actions

@github-actions github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown

Claims

From the Charmcraft 4 charmcraft.yaml reference (the bases section):

  • A: bases is deprecated but still accepted by Charmcraft 4 — it has not been removed entirely.
  • B: bases is "only accepted for bases supported before 2024-01-01", i.e. a newer base such as ubuntu@24.04 is refused when declared via bases:.
  • C: bases conflicts with base/build-base/platforms and cannot be mixed with them.

Issue #68 asks the direct question: does Charmcraft 4 (the version used in this repo's workflows) refuse to pack a charm that uses bases: only?

What I tested and why

I tested claim B (which also bears on A). I switched kepler/charmcraft.yaml from the preferred base: ubuntu@24.04 + platforms: form to the deprecated bases:-only form, keeping the same base (ubuntu@24.04, amd64 + arm64) and removing base/platforms so there is no conflict (claim C respected). kosmos/charmcraft.yaml is left untouched as a control — it still uses base + platforms and should pack and deploy as usual.

The test execution here is the CI charmcraft pack step itself, not a pytest test. Charmcraft packing cannot be exercised by run_tox (it only runs format/lint/unit), and the integration tests run after packing and consume the already-packed .charm file — so if packing fails, the integration tests never run. That makes the pack step the natural and only place to observe Charmcraft's behaviour. The charmcraft.yaml change is the test input; the pack step is the test execution.

What I believe is true

I believe Charmcraft 4 refuses to pack kepler with bases: using ubuntu@24.04. The docs state bases is "only accepted for bases supported before 2024-01-01", and ubuntu@24.04 was released in April 2024 — after that cutoff. So I expect kepler's charmcraft pack step to fail, while kosmos (the control) packs and deploys normally.

What the CI result means

  • kepler CI fails at the charmcraft pack step (and kosmos CI passes): Charmcraft 4 refuses bases: for ubuntu@24.04. This confirms my belief and the doc's "only old bases" constraint (claim B holds; bases is not removed entirely, claim A holds for old bases).
  • kepler CI passes (pack succeeds and integration tests run): Charmcraft 4 accepts bases: even with ubuntu@24.04. This refutes my belief and the doc's "only accepted for bases supported before 2024-01-01" note — bases is more permissive than documented.

Either way, kosmos is the control: if it also fails, the result is about something other than the bases: change and the comparison is inconclusive.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants