-
Notifications
You must be signed in to change notification settings - Fork 70
Controlling the CI
Kata currently uses a number of Continuous Integration (CI) systems:
-
Azure
Travis is triggered automatically when a user raises a PR. The behaviour is controlled by a .travis.yml
file in the top-level directory of every repository (for example the runtime's is here).
The Azure CI/CD is only used for the packaging repo, and is used to test that packaging builds work (OBS builds).
Azure CI results can be seen in the github 'Checks' tabs on the associated PR.
Azure CI/CD triggers when a "magic comment" is added to a PR, as defined in the Azure Pipeline documentation. Sadly it appears they keywords cannot be changed or over-ridden.
See the specific job triggers section for more details.
The Jenkins configuration and most documentation is kept in the CI repository.
Jenkins is setup to trigger a CI run on all the slaves/nodes when a "magic comment" is added to a PR.
To trigger an initial CI run, add the text below as a comment:
/test
To trigger another test for the same PR (a subsequent or "re-test"), add the following as a comment:
/retest
Some jobs (such as for a particularly architecture, feature or distro) can be triggered individually, which helps target individual CIs, and saves re-triggering all CIs and consuming more CI resource than necessary. Current specific triggers are:
Phrase | Triggers |
---|---|
/AzurePipelines run |
(re)-trigger OBS CI (packaging repo only). Note: Only works if you are a member of the packaging team and the phrase is the only text in the comment! |
/(re)test-arm |
(re)-trigger ARM architecture jobs |
/(re)test-centos |
(re)-trigger CentOS distro jobs |
/(re)test-clh |
(re)-trigger Cloud Hypervisor and Podman Cloud Hypervisor jobs |
/(re)test-clh-podman |
(re)-trigger Podman Cloud Hypervisor job |
/(re)test-debian |
(re)-trigger Debian distro jobs |
/(re)test-fc |
(re)-trigger Firecracker job |
/(re)test-fedora |
(re)-trigger Fedora distro jobs |
/(re)test-fedora-vsocks |
(re)-trigger Fedora VSOCKS jobs |
/(re)test-firecracker |
(re)-trigger Firecracker job |
/(re)test-qemu-metrics |
(re)-trigger QEMU metrics job |
/(re)test-nemu |
(re)-trigger NEMU hypervisor jobs |
/(re)test-opensuse |
(re)-trigger OpenSUSE distro jobs |
/(re)test-podman |
(re)-trigger podman container manager jobs |
/(re)test-power |
(re)-trigger POWER architecture jobs |
/(re)test-rhel |
(re)-trigger RHEL distro jobs |
/(re)test-s390x |
(re)-trigger s390x architecture jobs |
/(re)test-sles |
(re)-trigger SUSE SLES distro jobs |
/(re)test-snap |
(re)-trigger snap job (packaging repo only) |
/(re)test-ubuntu |
(re)-trigger Ubuntu distro jobs |
/(re)test-vfio |
(re)-trigger VFIO job |
/(re)test-virtiofs |
(re)-trigger VIRTIOFS job |
/zuul-recheck |
trigger Zuul Signed-off-by check |
/test kata-deploy |
trigger a GitHub Action kata-deploy test |
The Zuul CI is used to check for 'Signed-off-by' lines in PR commits, and to check for WIP and DNM keywords and labels.
Trigger phrases are detailed on the above referenced pages, and also in the specific job triggers section above. Note, the WIP check cannot be (re)triggered by a key phrase - it is triggered by PR edits or PR label changes.
For reference, the Kata Zuul instance configuration files can be found in the opendev.org repos
For more information on how to make changes to the Kata Zuul setup, see the HowToChangeZuul page.
Kata uses GitHub Actions in the packaging and kata-containers repos.
The packaging repo uses the actions defined in this file to test kata-deploy.
The actions uses the Action code from
the slash-command-action
repo
to look for trigger phrases.
The trigger phrase is /test kata-deploy
.
The packaging repo uses the actions defined in this file to build and upload the release artifacts (that is, to 'make a release' onto the GitHub runtime repo Releases tab).
This action is triggered by the pushing of a new tag to the repo. There are no trigger phrases to invoke this action.
Kata Containers runs CodeCov on PRs across a number of the repos. CodeCov is run as one of the final actions of the Jenkins CI runs.
There is no separate trigger phrase to invoke CodeCov on PRs for Kata.
See the Jenkins status page.