ostree/ci/build.sh
Colin Walters 75150fe04a lib/repo: Don't syncfs or fsync() dirs if fsync opt is disabled
There are use cases for not syncing at all; think build cache repos, etc. Let's
be consistent here and make sure if fsync is disabled we do no sync at all.

I chose this opportunity to add tests using the shiny new strace fault
injection.  I can forsee using this for a lot more things, so I made
the support for detecting things generic.

Related: https://github.com/ostreedev/ostree/issues/1184

Closes: #1186
Approved by: jlebon
2017-09-21 13:21:59 +00:00

36 lines
1.1 KiB
Bash
Executable File

#!/usr/bin/bash
# Install build dependencies, run unit tests and installed tests.
set -xeuo pipefail
dn=$(dirname $0)
. ${dn}/libbuild.sh
pkg_upgrade
pkg_install_builddeps ostree
# Until this propagates farther
pkg_install 'pkgconfig(libcurl)' 'pkgconfig(openssl)'
pkg_install sudo which attr fuse strace \
libubsan libasan libtsan PyYAML redhat-rpm-config \
elfutils
if test -n "${CI_PKGS:-}"; then
pkg_install ${CI_PKGS}
fi
pkg_install_if_os fedora gjs gnome-desktop-testing parallel coccinelle clang
# always fail on warnings; https://github.com/ostreedev/ostree/pull/971
export CFLAGS="-Werror ${CFLAGS:-}"
DETECTED_CONFIGOPTS=
if test -x /usr/bin/gnome-desktop-testing-runner; then
DETECTED_CONFIGOPTS="${DETECTED_CONFIGOPTS} --enable-installed-tests=exclusive"
fi
# Default libcurl on by default in fedora unless libsoup is enabled
if sh -c '. /etc/os-release; test "${ID}" = fedora'; then
case "${CONFIGOPTS:-}" in
*--with-soup*) ;;
*) CONFIGOPTS="${CONFIGOPTS:-} --with-curl"
esac
fi
build --enable-gtk-doc ${DETECTED_CONFIGOPTS} ${CONFIGOPTS:-}