Probe whether Charmcraft 4 packs a bases:-only charm - #69
Open
github-actions[bot] wants to merge 1 commit into
Open
Probe whether Charmcraft 4 packs a bases:-only charm#69github-actions[bot] wants to merge 1 commit into
bases:-only charm#69github-actions[bot] wants to merge 1 commit into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Claims
From the Charmcraft 4
charmcraft.yamlreference (thebasessection):basesis deprecated but still accepted by Charmcraft 4 — it has not been removed entirely.basesis "only accepted for bases supported before 2024-01-01", i.e. a newer base such asubuntu@24.04is refused when declared viabases:.basesconflicts withbase/build-base/platformsand 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.yamlfrom the preferredbase: ubuntu@24.04+platforms:form to the deprecatedbases:-only form, keeping the same base (ubuntu@24.04, amd64 + arm64) and removingbase/platformsso there is no conflict (claim C respected).kosmos/charmcraft.yamlis left untouched as a control — it still usesbase+platformsand should pack and deploy as usual.The test execution here is the CI
charmcraft packstep itself, not a pytest test. Charmcraft packing cannot be exercised byrun_tox(it only runs format/lint/unit), and the integration tests run after packing and consume the already-packed.charmfile — so if packing fails, the integration tests never run. That makes the pack step the natural and only place to observe Charmcraft's behaviour. Thecharmcraft.yamlchange is the test input; the pack step is the test execution.What I believe is true
I believe Charmcraft 4 refuses to pack
keplerwithbases:usingubuntu@24.04. The docs statebasesis "only accepted for bases supported before 2024-01-01", andubuntu@24.04was released in April 2024 — after that cutoff. So I expectkepler'scharmcraft packstep to fail, whilekosmos(the control) packs and deploys normally.What the CI result means
charmcraft packstep (and kosmos CI passes): Charmcraft 4 refusesbases:forubuntu@24.04. This confirms my belief and the doc's "only old bases" constraint (claim B holds;basesis not removed entirely, claim A holds for old bases).bases:even withubuntu@24.04. This refutes my belief and the doc's "only accepted for bases supported before 2024-01-01" note —basesis more permissive than documented.Either way,
kosmosis the control: if it also fails, the result is about something other than thebases:change and the comparison is inconclusive.