feat(test): add testing profiles for init command
Metadata
Current evaluation
Merged. Adds test-machine and test-kubernetes profiles to the init command for charmcraft test. Fixes #2365. Approved by three reviewers despite failing CI checks. Future updates will integrate jubilant and expand profiles.
Suggested action: —
No scores available.
Issue body
This adds a pair of testing profiles for the `init` command:
- test-machine (supplements the `machine` profile to add tests)
- test-kubernetes (supplements the `kubernetes` profile to add tests)
The `test-kubernetes` profile cannot be fully tested since the default kubernetes charm doesn't start without modifications.
I'm trying to figure out why the `test-machine` test times out within spread but works correctly outside of spread, but I'd like reviews in the meantime anyway.
Fixes #2365
CHARMCRAFT-632
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | Merged. Adds test-machine and test-kubernetes profiles to the init command for charmcraft test. Fixes #2365. Approved by three reviewers despite failing CI checks. Future updates will integrate jubilant and expand profiles. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged pull request adding test-machine and test-kubernetes profiles to the init command, providing charmcraft test compatible spread configurations. Kubernetes testing has known limitations, and a machine spread timeout is under investigation. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged. Adds test-machine and test-kubernetes profiles to the init command for charmcraft test spread configs. Resolves #2365. Accepted despite Kubernetes deployment limits and machine spread timeouts. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #2754 feat(profiles): bound dependencies, remove uv.lock files, improve init output | charmcraft | merged | Merged after reviewer approval. Bounded dependencies for kubernetes and machine profiles, removed uv.lock from templates, improved charmcraft init output to match requested profiles, and updated documentation. Fixes #2749. | |
| #5398 feat: add init test profile | snapcraft | merged | Merged. Adds an init test profile containing spread.yaml and extension templates. Approved by two reviewers, passed all CI checks, and resolves #5099. | |
| #1660 feat: add test command and templates | charmcraft | merged | Merged addition of the charmcraft test command and templates. The feature invokes spread to run test suites locally and remotely using a multipass backend. Approved by two reviewers and rebased on main before integration. | |
| #871 feat(init): add 'test' init profile | rockcraft | merged | Merged the addition of a 'test' init profile. Approved by two reviewers, the change was integrated despite four unresolved comments and failing slow tests. Template refinements will be addressed later. | |
| #2430 feat(templates): use Jubilant for integration tests of K8s and machine profiles | charmcraft | merged | Merged after four reviewers approved. Replaces pytest-operator with Jubilant for Kubernetes and machine profile integration tests, adds conftest.py fixtures, and updates documentation. CI passed with unrelated test flakiness dismissed. | |
| #2436 ci: check charms generated by `charmcraft init` | charmcraft | merged | Merged a dedicated CI spread test validating linting and unit tests for charms generated by charmcraft init across kubernetes and machine profiles. Approved by two reviewers, passes CI checks, and adds 25 lines of test configuration. | |
| #2813 feat(profile): add example action to kubernetes and machine init profiles | charmcraft | open | Adds example pause/resume actions to machine profile and restart action to kubernetes profile in charmcraft init templates. Approved by 4 reviewers, CI passing, 1 unresolved review comment. | |
| #2623 feat: update charm templates to use pytest-jubilant | charmcraft | merged | Merged to main. Updates machine and Kubernetes charm templates to use pytest-jubilant, aligning with parallel Ops documentation changes. Approved by three reviewers and integrated after CI validation. | |
| #2817 feat(profiles): use Ubuntu image for kubernetes integration tests | charmcraft | merged | Merged. Replaced the dummy OCI image in kubernetes profile integration tests with the base Ubuntu image. Adjusted charm code to use a valid placeholder command and updated a sample config description. Approved by reviewers and merged. | |
| #2695 feat(templates): add juju_setup to integration tests, improve comments, fix resolve() | charmcraft | merged | Merged after three approvals. Adds the juju_setup marker to integration tests, improves documentation comments, and removes a redundant resolve() call in the charm deployment test. All CI checks passed prior to merge. |