Skip to content

test(tls-certificates): flat layout for test charms, minor doc fixes/improvements - #673

Open
james-garner-canonical wants to merge 2 commits into
canonical:mainfrom
james-garner-canonical:26-09+tmp+reorg-integration-test-charms
Open

test(tls-certificates): flat layout for test charms, minor doc fixes/improvements#673
james-garner-canonical wants to merge 2 commits into
canonical:mainfrom
james-garner-canonical:26-09+tmp+reorg-integration-test-charms

Conversation

@james-garner-canonical

@james-garner-canonical james-garner-canonical commented Sep 7, 2026

Copy link
Copy Markdown
Collaborator

This PR rearranges the layout of the local charms defined for integration tests, to use a flat rather than nested layout. You can see the new layout in my branch, and the old nested layout on main.

I think this layout is a bit more user friendly, and makes it more obvious what's actually going on. The library template still lacks this kind of infrastructure for interface libraries (it just scaffolds a single test charm), and I'm thinking about using this layout for it. Keen to hear if you think it's an improvement.

Also:

  • Replaced symlinked README.md in local library copy with placeholder that documents why it's needed.
  • Minor corrections to comments in pack.sh.
  • Ignores in config updated to match new layout.

@james-garner-canonical
james-garner-canonical force-pushed the 26-09+tmp+reorg-integration-test-charms branch from af24e4a to c46e8a0 Compare September 7, 2026 00:19
Comment on lines +1 to +8
# Placeholder README for the library under test

This directory is a local copy of the library under test. Test charms depend on it by creating a symlink to it and pointing their `tool.uv.sources` there.

We need this local copy rather than just symlinking to the parent library directory so that when we `cp --recursive --dereference` the test charm to prepare it for packing, the library symlink is not recursive.

- `pyproject.toml` and `src/` are symlinks to the real library at the package root so the charm always builds against the current source.
- `README.md` is this placeholder. A readme is required because the library decalares `readme = "README.md", and hatchling fails the build if that file is missing. No newline at end of file

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

The placeholder readme.

@james-garner-canonical
james-garner-canonical marked this pull request as ready for review September 7, 2026 01:26
@james-garner-canonical
james-garner-canonical requested a review from a team as a code owner September 7, 2026 01:26

@saltiyazan saltiyazan 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.

Looks all good. Thanks

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.

2 participants