-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathlibyui-travis
executable file
·34 lines (27 loc) · 1.48 KB
/
libyui-travis
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#! /bin/bash
set -e -x
# check the license and changelog then build the tarball
rake package
# run the osc source validator to check the .spec and .changes locally
(cd package && /usr/lib/obs/service/source_validator)
# Build the binary package locally, use plain "rpmbuild" to make it simple.
# "osc build" is too resource hungry (builds a complete chroot from scratch).
# Moreover it does not work in a Docker container (it fails when trying to mount
# /proc and /sys in the chroot).
cp package/* /usr/src/packages/SOURCES/
rpmbuild -bb -D "jobs `nproc`" --with coverage --nodeps package/*.spec
# test the %pre/%post scripts by installing/updating/removing the built packages
# ignore the dependencies to make the test easier, as a smoke test it's good enough
rpm -iv --force --nodeps /usr/src/packages/RPMS/*/*.rpm
rpm -Uv --force --nodeps /usr/src/packages/RPMS/*/*.rpm
# get the plain package names and remove all packages at once
rpm -ev --nodeps `rpm -q --qf '%{NAME} ' -p /usr/src/packages/RPMS/**/*.rpm`
# is coverage data present?
coverage=`find /usr/src/packages/BUILD -name coverage.info -print -quit`
if [ -n "$coverage" ]; then
# strip the absolute path prefix from the coverage data so coveralls.io
# can find the source files at GitHub
sed -i "$coverage" -e 's#^SF:/usr/src/packages/BUILD/libyui-\([^/]*\)/\(.*\)$#SF:\2#'
# send the code coverage to coveralls.io, the token is expected in $COVERALLS_TOKEN
LC_ALL=en_US.UTF-8 coveralls-lcov --repo-token "$COVERALLS_TOKEN" "$coverage"
fi