Please add Canonical IS DevOps in Launchpad as a collaborator on the github-runner charm: Charmhub | Deploy GitHub runner using Charmhub - The Open Operator Collection
Thanks
Please add Canonical IS DevOps in Launchpad as a collaborator on the github-runner charm: Charmhub | Deploy GitHub runner using Charmhub - The Open Operator Collection
Thanks
Hi,
canonical-is-devops
has successfully been added as a collaborator to the github-runner
charm.
Thanks,
Odysseus
We are about to try to use this with “snapcraft” - does this work - especially with “snapcraft pack --use-lxd” ?
Hi Erik,
Just to confirm, are you saying you’re planning to use the github-runner operator and are wondering if you can use it to test/build snaps?
Thanks, Tom
@mthaddon - yes, totally - ideally using a dedicate lxd-host (remote) intended for the purpose of building (takes up alot of CPU).
I’m not sure that is possible at the moment… I’ve asked in the snapcraft community about the feature of using lxd-remotes for build… Building snap using a lxd remote - snapcraft - snapcraft.io
The way the charm works it creates a configurable number of LXD based containers and virtual machines on the juju unit itself and then runs the jobs inside those. If you provision a juju unit with appropriate constraints in terms of CPU/RAM/Disk it should give you the resources you need to run the appropriate job. We’ve not tested it with building snaps so far, but I’m not aware of any reason why it shouldn’t work for that use case, and we’d definitely be interested in supporting that so if you run into any problems let us know and we can take a look.
Since snapcraft wants to spawn a lxc container or even a multipass full-vm, I think going with a started container might be problematic. I haven’t tested it yet, but I know that this is how snapcraft works.
The option is to run snapcraft with “destructive” mode, which performs the build on the container, but I guess that’s kind of also defeating the purpose. I’ve posted a suggestion to allow for building using “lxd remotes” instead which would be a possible way: Building snap using a lxd remote - snapcraft - snapcraft.io