Call for Testing: Charmcraft 3.1.0

Charmcraft supports the development of operators using the Charmed Operator Framework . It enables developers to build, upload and release operators on Charmhub and collaboration through charm libraries.

New Release

Charmcraft 3.1.0 was just released to latest/candidate and 3.x/candidate channels . The team would appreciate any tests on this, if you find a regression or any new issue you can report it on Sign in to GitHub · GitHub.

New Features

To begin with, we have some new documentation. The primary documentation for using Charmcraft is still in the Charm SDK Documentation, but thinks like command references are in this charmcraft-specific documentation.

  • Charmcraft has a new fetch-libs command, which, when combined with a charmlibks key in charmcraft.yaml, allows the automatic fetching and updating of multiple charm libraries.
  • The new, experimental test command is also included in Charmcraft 3.1. Please have a go with it. Documentation is fairly minimal right now, as the implementation is still in flux.
  • OCI image resource uploads now use skopeo to upload images. Most notably, this means you can enter any skopeo-supported containers-transports URL to upload an OCI container to Charmhub.
  • New features to experimental extensions: django-framework and flask-framework. These are designed to work with rocks, for example, rocks with the flask-framework extension.
  • New releases are automatically published to PyPI (thanks @bittner)!

Bugfixes:

  • flask-framework charms now automatically include the rustup snap
  • Symlinked directories are correctly included in charms (previously only symlinked files worked).
  • Fixed a crash when using the framework linter with the reactive plugin
  • … and several more!

Release Timeframe

The current plan is to release Charmcraft 3.1 to stable next Tuesday, 2024-07-30T00:00:00Z

Using Charmcraft

We recommend the Charmed Operator Framework for charm development, but Charmcraft will help you publish charms written in any language. The Charmed Operator Framework enables the development of operators in a simple and straightforward way, using standard Python structures to allow for clean, maintainable, and reusable code.

Happy charming!

2 Likes

Thanks for your bug reports! Charmcraft 3.1.1 has been tagged and is on the way to the candidate channel.

Charmcraft’s shared cache appears to be broken on 3.1 https://github.com/canonical/charmcraft/issues/1762

Thanks for the bug reports @carlcsaposs and others! I’ve just tagged Charmcraft 3.1.2, and it’s currently building for automatic release to the latest/candidate and 3.x/candidate channels.