From 0ea06f92357da0794c89d085b5331ab2f1ce7364 Mon Sep 17 00:00:00 2001 From: Martin Pitt Date: Mon, 26 Oct 2020 13:43:53 +0100 Subject: [PATCH] Run integration tests in Travis Travis now offers /dev/kvm, and its machines are powerful enough to run our browser integration tests, at least for small projects. Building an RPM on the Ubuntu host environment is a bit tricky, as there are no installed RPMs. Thus ignore the BuildRequires, and install appstream-util explicitly. In the future, the rpm/deb build should happen inside the VM (like Cockpit does). Add two scenarios for current Fedora and CentOS 8. Switch to the "minimal" environment to make the test easier to reproduce locally and more explicit. Closes #386 --- .travis.yml | 29 ++++++++++++++++++++++++----- README.md | 7 +++++++ 2 files changed, 31 insertions(+), 5 deletions(-) diff --git a/.travis.yml b/.travis.yml index bee776c..3527496 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,12 +1,31 @@ dist: focal -sudo: false -language: node_js -node_js: - - "lts/*" +sudo: true +language: minimal addons: apt: packages: + - appstream-util + - chromium-browser + - curl + - git + - libvirt-daemon-system + - npm + - python3-libvirt + - qemu-kvm + - qemu-utils + - rpm - sassc +env: + - TEST_OS=fedora-33 + - TEST_OS=centos-8-stream script: - - make + # HACK: /dev/kvm is root:kvm 0660 by default + - sudo chmod 666 /dev/kvm + + # test PO template generation - make po/starter-kit.pot + + # FIXME: build rpm inside VM; no installed rpms on Travis Ubuntu environment + - sed -i '/^BuildRequires:/d' *.spec.in + + - TEST_JOBS=$(nproc) make check diff --git a/README.md b/README.md index 1a4e6a2..5f191b6 100644 --- a/README.md +++ b/README.md @@ -80,6 +80,13 @@ 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. + # Customizing After cloning the Starter Kit you should rename the files, package names, and