summaryrefslogtreecommitdiff
path: root/.gitlab-ci.yml
diff options
context:
space:
mode:
authorJulian Andres Klode <julian.klode@canonical.com>2018-05-16 12:11:08 +0200
committerJulian Andres Klode <julian.klode@canonical.com>2018-05-16 12:11:08 +0200
commit8cc38267809a15ec9819bce721e52fcd90a523b9 (patch)
tree4511447c0348a0f3d219c562c2e89dabb61cb403 /.gitlab-ci.yml
parent68842e1741a5005b1e3f0a07deffd737c65e3294 (diff)
Run tests on GitLab CI
Salsa has support for GitLab CI. This introduces a test setup for it, derived from the ones for shippable and travis. It is not optimal yet: The build is run in the test stage. Fixing this requires us to separate test from build dependencies, and storing build/ as an artifact of the build stage; since build and test stage run on different runners with fresh checkouts and images.
Diffstat (limited to '.gitlab-ci.yml')
-rw-r--r--.gitlab-ci.yml33
1 files changed, 33 insertions, 0 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 000000000..0ebff095c
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,33 @@
+image: debian:testing
+
+test as root:
+ stage: test
+ script:
+ - adduser --home /home/travis travis --quiet --disabled-login --gecos "" --uid 1000
+ - rm -f /etc/dpkg/dpkg.cfg.d/excludes
+ - apt-get update
+ - apt-get install -qq build-essential expect gcovr sudo
+ - chmod -R o+rwX $PWD
+ - ./prepare-release travis-ci
+ - sudo -u travis mkdir build
+ - sudo -u travis env -C build cmake -DCMAKE_BUILD_TYPE=Coverage -G Ninja ..
+ - sudo -u travis ninja -C build
+ - CTEST_OUTPUT_ON_FAILURE=1 ninja -C build test
+ - unbuffer ./test/integration/run-tests -q -j 4
+ - gcovr
+
+test as user:
+ stage: test
+ script:
+ - adduser --home /home/travis travis --quiet --disabled-login --gecos "" --uid 1000
+ - rm -f /etc/dpkg/dpkg.cfg.d/excludes
+ - apt-get update
+ - apt-get install -qq build-essential expect gcovr sudo
+ - chmod -R o+rwX $PWD
+ - ./prepare-release travis-ci
+ - sudo -u travis mkdir build
+ - sudo -u travis env -C build cmake -DCMAKE_BUILD_TYPE=Coverage -G Ninja ..
+ - sudo -u travis ninja -C build
+ - sudo -u travis CTEST_OUTPUT_ON_FAILURE=1 ninja -C build test
+ - sudo -u travis unbuffer ./test/integration/run-tests -q -j 4
+ - sudo -u travis gcovr