ci: Add a context for testing flatpak

This was part of the philosophy behind https://wiki.gnome.org/Initiatives/GnomeGoals/InstalledTests -
libraries like libostree don't need to replicate everything in unit tests, we
can use the tests from our dependencies directly too.

We'll also get API break coverage testing too.

Closes: #818
Approved by: jlebon
This commit is contained in:
Colin Walters 2017-04-28 09:32:35 -04:00 committed by Atomic Bot
parent 838cbab585
commit e60b9bc049
2 changed files with 61 additions and 0 deletions

View File

@ -135,3 +135,26 @@ tests:
artifacts:
- test-suite.log
---
inherit: false
branches:
- master
- auto
- try
context: f25-flatpak
required: false
# This test case wants an "unprivileged container with bubblewrap",
# which we don't have right now; so just provision a VM and do a
# docker --privileged run.
host:
distro: fedora/25/atomic
tests:
- docker run --rm --privileged -v $(pwd):/srv/code registry.fedoraproject.org/fedora:25 /bin/sh -c "cd /srv/code && ./ci/flatpak.sh"
artifacts:
- test-suite.log

38
ci/flatpak.sh Executable file
View File

@ -0,0 +1,38 @@
#!/bin/bash
# Build and run flatpak's unit tests using the just-built ostree for this PR.
set -xeuo pipefail
build() {
env NOCONFIGURE=1 ./autogen.sh
./configure --prefix=/usr --libdir=/usr/lib64 "$@"
make -j 8
}
codedir=$(pwd)
# Core prep
dnf -y install dnf-plugins-core
dnf install -y @buildsys-build
dnf install -y 'dnf-command(builddep)'
# build+install ostree
dnf builddep -y ostree
build
make install
tmpd=$(mktemp -d)
cd ${tmpd}
# Frozen to a tag for now on general principle
git clone --recursive --depth=1 -b 0.9.3 https://github.com/flatpak/flatpak
cd flatpak
dnf builddep -y flatpak
# And runtime deps
dnf install -y flatpak && rpm -e flatpak
dnf install which attr fuse parallel # for the test suite
build
# We want to capture automake results from flatpak
cleanup() {
mv test-suite.log ${codedir} || true
}
trap cleanup EXIT
make -j 8 check