Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable charmcraft builds for all types of charmsm (charmhub migration) #150

Open
ajkavanagh opened this issue Feb 1, 2022 · 1 comment

Comments

@ajkavanagh
Copy link
Contributor

The consequence of the charmhub migration is that all charms have a charmcraft.yaml. In order to troubleshoot/head-off issues related to charmcraft builds, the CI needs to also do a charmcraft build.

Note: in the longer time, we actually want launchpad to build the charm in a branch, but that'll be dependent on syncing the git repo (more frequently), target a PR (rather than a git branch), etc. So, no really a short term solution.

But in the meantime, doing the charmcraft build in the CI (for amd64) will result in a <name>...charm file which doesn't have access to the tox.ini in the src/ directory (for reactive charms). Thus a workaround is done to put a func-target tox target in the top level reactive charm, and then use that to call the src/tox.ini func-target target.

The point of this bug report, is that we need to overhaul how and where the tox.ini is for charmcraft.yaml charms is, so that going forward we can simplify the logic in zosci-config.

@wolsen
Copy link
Contributor

wolsen commented Feb 1, 2022

The consequence of the charmhub migration is that all charms have a charmcraft.yaml. In order to troubleshoot/head-off issues related to charmcraft builds, the CI needs to also do a charmcraft build.

Note: in the longer time, we actually want launchpad to build the charm in a branch, but that'll be dependent on syncing the git repo (more frequently), target a PR (rather than a git branch), etc. So, no really a short term solution.

Just as a comment for future consideration, this might need further exploration as to the feasibility of doing this as there's a lot of complexity and I'm struggling to find the benefit since the resultant charm is published via the charm-build job and could be deployed/side-loaded separately. I think the near to medium term scenario our current approach of building the charm using charmcraft gets us close enough.

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

No branches or pull requests

2 participants