ostree/.papr.yml
Matthew Leeds 8fbf19c9f5 Make P2P API public (no longer experimental)
Currently the API that allows P2P operations (e.g. pulling an ostree ref
from a LAN or USB source) is hidden behind the configure flag
--enable-experimental-api. This commit makes the API public and makes
that flag essentially a no-op (leaving it in place in case we want to
use it again in the future). The P2P API has been tested over the last
several months and proven to work.

This means that since we're no longer using the "experimental" feature
flag, P2P builds of Flatpak will fail when using versions of OSTree from
this commit onwards, until Flatpak is patched in the near future. If you
want to build Flatpak < 0.11.8 with P2P enabled and link against OSTree
2018.6, you'll have to patch Flatpak.  However, since Flatpak won't yet
have a hard dependency on OSTree 2018.6, it needs a new way to determine
if the P2P API in OSTree is available, so this commit adds a "p2p"
feature flag. This way the feature set is more semantically correct than
if we had continued to use the "experimental" feature flag.

In addition to making the P2P API public, this commit makes the P2P unit
tests run by default, removes the f27-experimental CI instance that's no
longer needed, changes a few man pages to reflect the changes, and
updates the bash completion script to accept the new commands and
options.

Closes: #1596
Approved by: cgwalters
2018-06-04 19:20:10 +00:00

188 lines
4.0 KiB
YAML

# https://fedoraproject.org/wiki/CI/Tests
branches:
- master
- auto
- try
context: FAH28-insttests
required: true
# FIXME; temporary workaround
# https://github.com/ostreedev/ostree/pull/1513#issuecomment-378784162
host:
distro: fedora/28/atomic
specs:
ram: 4096
#container:
# image: registry.fedoraproject.org/fedora:28
tests:
- docker run --device /dev/kvm --rm -v $(pwd):/srv/code:z registry.fedoraproject.org/fedora:28 /bin/sh -c "cd /srv/code && ./ci/fah28-insttests.sh"
artifacts:
- tests/installed/artifacts/
---
# This suite skips the RPMs and does the build+unit tests in a container
inherit: false
branches:
- master
- auto
- try
required: true
container:
image: registry.fedoraproject.org/fedora:28
context: f28-primary
env:
# We only use -Werror=maybe-uninitialized here with a "fixed" toolchain
CFLAGS: '-fsanitize=undefined -fsanitize-undefined-trap-on-error -fsanitize=address -O2 -Wp,-D_FORTIFY_SOURCE=2'
# Only for CI with a known g-ir-scanner
GI_SCANNERFLAGS: '--warn-error'
ASAN_OPTIONS: 'detect_leaks=0' # Right now we're not fully clean, but this gets us use-after-free etc
# TODO when we're doing leak checks: G_SLICE: "always-malloc"
CONFIGOPTS: '--with-curl --with-openssl'
tests:
- ci/ci-commitmessage-submodules.sh
- ci/build-check.sh
- ci/ci-release-build.sh
artifacts:
- test-suite.log
- config.log
- gdtr-results
---
# And now the contexts below here are variant container builds
context: f28-rust
inherit: true
container:
image: registry.fedoraproject.org/fedora:28
env:
CONFIGOPTS: '--enable-rust'
CI_PKGS: cargo
tests:
- ci/build.sh
- make check TESTS=tests/test-rollsum
---
context: f28-gnutls
inherit: true
container:
image: registry.fedoraproject.org/fedora:28
env:
CONFIGOPTS: '--with-crypto=gnutls'
CI_PKGS: pkgconfig(gnutls)
tests:
- ci/build.sh
- make check TESTS=tests/test-basic.sh
---
inherit: true
context: f28-minimal
env:
CONFIGOPTS: '--without-curl --without-soup --disable-gtk-doc --disable-man
--disable-rust --without-libarchive --without-selinux --without-smack
--without-openssl --without-avahi --without-libmount --disable-rofiles-fuse
--disable-experimental-api'
tests:
- ci/build.sh
---
inherit: true
required: true
context: f28-libsoup
env:
CONFIGOPTS: "--without-curl --without-openssl --with-libsoup"
tests:
- ci/build-check.sh
---
inherit: true
required: true
context: f28-introspection-tests
env:
# ASAN conflicts with introspection testing;
# See https://github.com/ostreedev/ostree/issues/1014
INSTALLED_TESTS_PATTERN: "libostree/test-sizes.js libostree/test-sysroot.js libostree/test-core.js"
tests:
- ci/build-check.sh
---
# Reset inheritance for non-variant builds
inherit: false
branches:
- master
- auto
- try
context: f28-flatpak
required: true
# 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/28/atomic
specs:
ram: 4096 # build-bundle is a static delta, which needs RAM right now
tests:
- docker run --rm --privileged -v $(pwd):/srv/code registry.fedoraproject.org/fedora:28 /bin/sh -c "cd /srv/code && ./ci/flatpak.sh"
artifacts:
- test-suite.log
---
# Run rpm-ostree's vmcheck. This is a temporary hack until
# we share more code. https://github.com/projectatomic/rpm-ostree/issues/662
inherit: false
branches:
- master
- auto
- try
context: f28-rpmostree
required: true
cluster:
hosts:
- name: vmcheck
distro: fedora/28/atomic
container:
image: registry.fedoraproject.org/fedora:28
env:
HOSTS: vmcheck
# This should roughly match the Fedora spec file, although right now we don't
# explicitly enable gtk-doc because we don't really need it
CONFIGOPTS: '--with-selinux --with-dracut=yesbutnoconf --with-curl --with-openssl'
tests:
- ./ci/rpmostree.sh
artifacts:
- test-suite.log
- vmcheck
timeout: 60m