Run tests on Cirrus CI, drop Travis

Travis stopped handing out free credits since their plan changes last
November, so tests have not run since then.

Cirrus CI offers an API similar to Travis, and also explicitly supports
/dev/kvm access. They run on the GKE Linux Community Cluster, and thus
are not as likely to run into monetary problems as Travis did.

Eventually we want to use the cockpit/tasks container directly. But we
can't fix the /dev/kvm permissions inside that as `sudo` does not work
in that. Once we fix that, the setup will become much cheaper and
simpler.
This commit is contained in:
Martin Pitt 2021-01-25 10:12:14 +01:00
parent bb06422996
commit fdae5d3a7b
3 changed files with 36 additions and 38 deletions

View file

@ -60,7 +60,7 @@ Violations of some rules can be fixed automatically by:
Rules configuration can be found in the `.eslintrc.json` file.
# Automated Testing
# Running tests locally
Run `make check` to build an RPM, install it into a standard Cockpit test VM
(centos-7 by default), and run the test/check-application integration test on
@ -80,12 +80,18 @@ You can also run the test against a different Cockpit image, for example:
TEST_OS=fedora-32 make check
These tests can be run in [Travis CI](https://travis-ci.com/). The included
[travis.yml](./.travis.yml) runs the integration tests for two operating
systems (Fedora and CentOS 8). Note that if/once your project grows bigger, or
gets frequent changes, you likely need to move to a paid account, or different
infrastructure with more capacity. Talk to the
[Cockpit developers](https://cockpit-project.org/) if you are interested in that.
# Running tests in CI
These tests can be run in [Cirrus CI](https://cirrus-ci.org/), on their free
[Linux Containers](https://cirrus-ci.org/guide/linux/) environment which
explicitly supports `/dev/kvm`. Please see [Quick
Start](https://cirrus-ci.org/guide/quick-start/) how to set up Cirrus CI for
your project after forking from starter-kit.
The included [.cirrus.yml](./.cirrus.yml) runs the integration tests for two
operating systems (Fedora and CentOS 8). Note that if/once your project grows
bigger, or gets frequent changes, you may need to move to a paid account, or
different infrastructure with more capacity.
# Customizing