Pulse #17 highlights: quality-of-life improvements on ops and tests, Pebble’s official documentation website launched, charm-relation-interfaces
tests running on a schedule, and more!
ACTION ITEM for all charm authors: we’ve just created our first Charming survey to help charm authors let the Charm Tech team know how we and the Ops framework and Pebble are meeting your needs. Please fill it out!
Ops
- Add a workflow that runs the TIOBE quality checks, and it’s possible to trigger it manually.
- A new feature/refactor on parsing
JUJU_*
environment variables in one place with proper typing. - Testing: The smoke test series/bases are updated; with the help of
pytest-xdist
, now the unit tests are running in parallel across multiple CPUs; Python 3.13 has reached rc1, so Python 3.12 and 3.13 are added to run tests.
Charming
- The
charm-relation-interfaces
tests are now running on a schedule (weekly). GitHub issues will be created and assigned to owners automatically if tests fail. - We have received a review request for the Pro airgapped contracts server. Still WIP, it will soon be publicly searchable in Charmhub.
- The adapting python-libjuju for Juju 4 spec is in review.
- Work started to improve Charmcraft analysis to validate basic assumptions within Charm’s Python code.
Scenario
- Finalised work on improving the Scenario API in preparation for adoption as the recommended framework for charm unit tests.
Pebble
- Implement warnings as notices.
- A new feature “initial delay” for health check is in review.
- Fixing a few minor issues, such as
pebble exec
output is cut in interactive mode, don’t storeexecSetup
and environment in the state, starting daemon hangs with a read-only file system, allow ensure when state is available, and initializesocketPath
to prevent stale cache.
Documentation
- After many efforts on Pebble documentation (#470, #471, #472, #477, #479, #483, #484, #485), we are pleased to announce that the Pebble official documentation website is officially launched! Read more in this post here.
- Ops documentation is upgraded to use Sphinx 8, and Juju version markers examples are added.
- Scenario docs integration with ops (WIP).