canonical / sdcore-udm-k8s-operator

A Charmed Operator for SD-Core's Unified Data Manager (UDM) component.
https://charmhub.io/sdcore-udm-k8s
Apache License 2.0
0 stars 0 forks source link

chore: bump ops from 2.16.1 to 2.17.0 #314

Closed dependabot[bot] closed 4 weeks ago

dependabot[bot] commented 4 weeks ago

Bumps ops from 2.16.1 to 2.17.0.

Release notes

Sourced from ops's releases.

2.17.0: new unit testing API, and Secret fixes

What's Changed

This release adds a state-transition testing API for unit tests, formerly known as Scenario (many thanks to @​PietroPasotti for his work developing and maintaining the library). Harness is still available, but we encourage all charmers to use the new API for unit tests going forward. The API is an optional install, for example: pip install ops[testing], so that the test API code does not get bundled into the charms. All of the classes that you would previously find when using ops-scenario in the scenario namespace can then be found in ops.testing. For example:

from ops import testing

ctx = testing.Context(MyCharm) state = ctx.run(ctx.on.start(), testing.State(leader=True)) assert state.unit_status == testing.ActiveStatus()

There are also two improvements to Juju Secrets: firstly, the .id of a Secret will always include the model UUID, so it can be reliably used for cross-model relations. A more significant change is that, previously, if a charm called set_contents() and set_info() in the same hook (even if not the same event handler, or in a deferred event handler) only the last call would have any effect. This is now changed so that the calls accumulate - you can set both content and metadata in the same hook, and also if you set_contents() twice the contents will be combined. The Juju team intend to make this the secret-set behaviour in the future as well.

Additionally, ops.main is now type hinted correctly and will no longer require a type: ignore directive from users!

Features

  • Optionally install Scenario with ops[testing] and expose the names in ops.testing in #1381
  • Change ops.main() so that you don't need to type: ignore it in #1345
  • Expand the secret ID out to the full URI when only given the ID in #1358
  • Add a JujuVersion property for Pebble log forwarding to Loki in #1370
  • Pre-emptively raise InvalidStatusError instead of waiting for Juju:
    • Make it an error to call CollectStatusEvent.add_status with error or unknown in #1386
    • Document and validate settable status values in _ModelBackend.set_status in #1354

Fixes

  • Fix type of StatusBase subclasses by calling StatusBase.register in __init_subclass__ in #1383
  • Secret.set_info and Secret.set_content can be called in the same hook in #1373

Documentation

  • Add top-level intro and module-level intros in #1320
  • Update the links to the Pebble docs in #1362
  • Note about repeatedly setting secret value in Juju 3.6 in #1366
  • config-changed is triggered by Juju trust in #1357
  • Typo on CharmBase inheritance example by @​theofpa in #1349
  • Docs: move Pebble to a separate page in #1392

Continuous Integration

  • Periodically run the unit tests of all GitHub-hosted published charms in #1365
  • Update the TIOBE reporting for the changes in coverage calculation in #1367
  • Spell-check the code as part of linting in #1388
  • Run the smoke tests on a schedule in #1387

Testing

... (truncated)

Changelog

Sourced from ops's changelog.

2.17.0 - 26 Sep 2024

Features

  • Optionally install Scenario with ops[testing] and expose the names in ops.testing (#1381)
  • Change ops.main() so that you don't need to type: ignore it (#1345)
  • Expand the secret ID out to the full URI when only given the ID (#1358)
  • Add a JujuVersion property for Pebble log forwarding to Loki (#1370)
  • Pre-emptively raise InvalidStatusError instead of waiting for Juju:
    • Make it an error to call CollectStatusEvent.add_status with error or unknown (#1386)
    • Document and validate settable status values in _ModelBackend.set_status (#1354)

Fixes

  • Fix type of StatusBase subclasses by calling StatusBase.register in __init_subclass__ (#1383)
  • Secret.set_info and Secret.set_content can be called in the same hook (#1373)

Documentation

  • Add top-level intro and module-level intros (#1320)
  • Update the links to the Pebble docs (#1362)
  • Note about repeatedly setting secret value in Juju 3.6 (#1366)
  • config-changed is triggered by Juju trust (#1357)
  • Typo on CharmBase inheritance example by @​theofpa (#1349)
  • Docs: move Pebble to a separate page (#1392)

Continuous Integration

  • Periodically run the unit tests of all GitHub-hosted published charms (#1365)
  • Update the TIOBE reporting for the changes in coverage calculation (#1367)
  • Spell-check the code as part of linting (#1388)
  • Run the smoke tests on a schedule (#1387)

Testing

  • Fix tests that leaked environment variables (#1385)

Refactoring

  • Move the content of ops.testing to ops._private.harness (#1369)
  • Keep the unittest.mock names in the 'mock' namespace (#1379)
  • Deprecate StatusBase.register decorator (#1384)

Chores

  • Note Juju version on legacy workaround (#1355)
  • Re-enable test now that Pebble directory permissions are fixed (#1363)
  • Generate warnings for events that will be removed in Juju 4.0 (#1374)
Commits
  • 05af34f chore: update changelog and bump version number for 2.17.0 release (#1394)
  • dcb4d78 docs: move Pebble to a separate page (#1392)
  • d342885 ci: run the smoke tests on a schedule (#1387)
  • 4a14764 feat: optionally install Scenario with ops[testing] and expose the names in...
  • d5eadcb chore: update charm pins (#1390)
  • 7dec772 fix: Secret.set_info and Secret.set_content can be called in the same hook (#...
  • 6f90333 ci: spell-check the code as part of linting (#1388)
  • 64d9565 feat: make it an error to call CollectStatusEvent.add_status with error or un...
  • 98a4e4f refactor: deprecate StatusBase.register decorator (#1384)
  • 4bb92dd test: properly mock the environment (#1385)
  • Additional commits viewable in compare view


Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)