Skip to content

docs: mention multi-architecture and remote builds in CI how-to - #2707

Closed
dwilding wants to merge 1 commit into
canonical:mainfrom
dwilding:ci-build-guidance
Closed

docs: mention multi-architecture and remote builds in CI how-to#2707
dwilding wants to merge 1 commit into
canonical:mainfrom
dwilding:ci-build-guidance

Conversation

@dwilding

@dwilding dwilding commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

Our how-to guide about CI is focused on how to run tests and only mentions packing in passing. But charmers may have a need to pack for multiple architectures for their tests. This PR adds a paragraph that links to Charmcraft's guide about remote builds.

Preview doc


This guide demonstrates how to automatically run your charm's tests against any PR into the main branch of your GitHub repository.

The sample integration testing job includes a packing step, but this guide doesn't demonstrate how to pack your charm for multiple architectures. If you need to pack for multiple architectures, consider {external+charmcraft:ref}`building the charm remotely <how-to-build-remotely>` on Canonical's infrastructure.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

The link points to Build a charm remotely in the Charmcraft docs. That how-to-guide doesn't talk about how you'd use charmcraft remote-build in CI - at minimum you'd need a login token, I think? I'm not aware of any doc that covers this aspect.

For now, an extra addition here could be a link to a real charm's CI that shows the pattern in a straightforward way.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I can't find a charm with CI that clearly demonstrates this. So I'll leave my changes as-is, unless anyone else has a better idea.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

I'm not sure we want to have people consider remote builds if their only need is multiple architectures. If you only need x86 and arm64 then I think you're better off sticking with regular GitHub runners and a simple matrix. If you're within Canonical, then I'd point you to charm-ci and the hosted runners before going for the experimental remote build system. I think the only time I'd point someone towards remote build is if they need a less common architecture and they don't have access to Canonical's internal infrastructure.

So I'm hesitant about how strongly this seems to be pointing people there. I don't mind having a link out to it, but I would personally hedge it more.

Maybe the Launchpad people have additional reasons people should consider this system that I'm missing?

@benhoyt benhoyt changed the title docs: mention muti-architecture and remote builds in CI how-to docs: mention multi-architecture and remote builds in CI how-to Aug 26, 2026

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

Pointing people to remote-build seems reasonable to me, though you're definitely right about the CI gap -- the Charmcraft doc is very much for interactive use (press y to confirm, you'll be prompted to log in, etc).

However, the story does seem to be a bit more complicated than "just use remote-build", reading https://canonical.com/juju/docs/charmcraft/4/howto/select-platforms/

Additionally, charmcraft pack can be explicitly instructed to build for one specific platform only. So an alternative might be a matrix job with a dynamic runs-on, calling charmcraft pack --platform ... and then running the tests.

@dwilding

dwilding commented Sep 3, 2026

Copy link
Copy Markdown
Contributor Author

Closing as discussed internally. Per comments, this needs more than a link to Charmcraft. We're considering this for 27.04 roadmap work. See #2410.

@dwilding dwilding closed this Sep 3, 2026
@dwilding
dwilding deleted the ci-build-guidance branch September 3, 2026 02:37
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.

3 participants