Skip to content

chore: drop pytest-operator and python-libjuju (2.23) - #2837

Merged
tonyandrewmeyer merged 8 commits into
2.23-maintenancefrom
drop-pytest-operator-2.23
Oct 22, 2026
Merged

tonyandrewmeyer merged 8 commits into
2.23-maintenancefrom
drop-pytest-operator-2.23

Conversation

@tonyandrewmeyer

@tonyandrewmeyer tonyandrewmeyer commented Oct 21, 2026 •

Copy link
Copy Markdown
Collaborator

Backport of the move from pytest-operator and python-libjuju to Jubilant, so that the 2.23 maintenance branch no longer depends on either.

Cherry-picked from main, in order:

Adjustments for the 2.x branch:

  • The Python 3.8 and 3.9 environment markers that chore: jubilant smoke tests #1958 removed from pyproject.toml are kept, as is the 20.04 base in the smoke test parametrisation.
  • The smoke tox env injects ops-2.*.whl rather than ops-3.*.whl.
  • uv.lock was regenerated rather than merged, which drops pytest-operator, python-libjuju, pytest-asyncio and their transitive dependencies.
  • The Jubilant intersphinx entry is in docs/custom_conf.py, since this branch still has the older starter-pack layout.
  • The tutorial's "review the final code" links stay on the juju-sdk-tutorial-k8s repository, which is what the other chapters on this branch link to.

dimaqq and others added 7 commits October 21, 2026 13:40
Switch our smoke tests to `jubilant`... well Tony's jubilant-backports.

Part of our efforts to move from pytest-operator to jubilant everywhere.

CI Smoke: https://github.com/dimaqq/operator/actions/runs/16782556856

(cherry picked from commit f5197d4)
Now that we're using Jubilant rather than python-libjuju, we can smoke
test against Juju 4 as well. The smoke test only packs (not relevant)
and deploys, so it's not showing a great deal of what works/doesn't work
in Juju 4, but it's worth knowing this little bit.

[Passing run in my
fork](https://github.com/tonyandrewmeyer/operator/actions/runs/16816761841).

(cherry picked from commit b367505)
Part of the series "let's get rid of python-libjuju and pytest-operator
and use jubilant instead" across our codebase.

This PR updates the integration tests in the `httpbin-demo` example.

(cherry picked from commit 736624c)
Doc preview:
https://canonical-ubuntu-documentation-library--1988.com.readthedocs.build/ops/1988/

Check list:
- [x] global `tox`
- [x] k8s-1. `tox`
- [x] k8s-1. `tox -e integration`
- [x] k8s-2. `tox`
- [x] k8s-2. `tox -e integration`
- [x] k8s-3. `tox`
- [x] k8s-3. `tox -e integration`
- [x] k8s-4. `tox`
- [x] k8s-4. `tox -e integration`
- [x] k8s-5. `tox`
- [x] k8s-5. `tox -e integration`

(cherry picked from commit 815d5eb)
- add jubilant to intersphinx
- update docs/howto/manage-the-workload-version.md to jubilant
- update docs/howto/write-integration-tests-for-a-charm.md to jubilant

(cherry picked from commit 18e95fe)
Update the rest of the how-to docs.

Built on top of #2000

(cherry picked from commit 99cd0f5)
(cherry picked from commit 3c4cd3a)

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@tonyandrewmeyer
tonyandrewmeyer marked this pull request as ready for review October 21, 2026 18:52
Comment thread .github/workflows/smoke.yaml

@james-garner-canonical james-garner-canonical left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, I didn't read all the changes thoroughly, but this looks structurally sound.

Backport of #1998, which was missed from the original cherry-pick list.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@tonyandrewmeyer
tonyandrewmeyer merged commit 57105ef into 2.23-maintenance Oct 22, 2026
48 checks passed
@tonyandrewmeyer
tonyandrewmeyer deleted the drop-pytest-operator-2.23 branch October 22, 2026 18:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants