lpcraft is a runner for continuous integration jobs in Launchpad. It is intended mainly for use in Launchpad builders, but can also be installed and used locally on branches with a .launchpad.yaml file.

This project owes a considerable amount to snapcraft and charmcraft: the provider support for container management is based substantially on charmcraft, while much of the CLI design is based on both those tools.

The development is in a very early stage.

Example configuration

$ cat .launchpad.yaml
- test

        series: focal
        architectures: amd64
        run: echo hello world >output
            paths: [output]

$ lpcraft run --output out
Running the job
$ cat out/test/focal/amd64/files/output
hello world