Continuous integration

Launchpad CI makes software development and collaboration easier.

You can use Launchpad CI to run tests to catch bugs before they are merged into your project, to enforce coding standards by running linters, or to make sure your project’s documentation is still building.

How does this work?

  1. Create a .launchpad.yaml with your desired configuration.

  2. Add it to the root of your repository

  3. Push the changes to your project on Launchpad.

Launchpad will then run the configured CI jobs for your project and report the status of the build in the UI via a green checkmark or a red X.

In case of an error you will also receive an email.

Note

Launchpad CI uses lpci (Launchpad CI runner) to execute your CI pipeline. You can also run lpci locally to test your configuration before pushing.

Example configuration

A basic configuration file which runs the test suite of your project via pytest would look as follows:

pipeline:
- test

jobs:
test:
   series: noble
   architectures: amd64
   packages: [python3-pytest]
   run: pytest

You can find the complete configuration syntax in the lpci documentation linked below.

Documentation

Feature requests / known issues

You can report feature requests and bugs to the Launchpad team using the issue tracker.

Support

If you have any questions, please reach out to the Launchpad team.

Canonical employees can get support through the Launchpad channel on Mattermost.