branches:
    - master
    - auto
    - try

required: true
context: f26-primary

container:
    image: registry.fedoraproject.org/fedora:26

env:
    # Enable all the sanitizers for this primary build.
    # 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"

tests:
  - ci/ci-commitmessage-submodules.sh
  - ci/build-check.sh
  - ci/ci-release-build.sh

timeout: 30m

artifacts:
  - test-suite.log
  - config.log
---

context: c7-primary
inherit: true
required: true

host:
  distro: centos/7/atomic

env:
    CFLAGS: ''

tests:
  - docker run --privileged -v $PWD:$PWD --workdir $PWD
    registry.centos.org/centos/centos:7 sh -c
    'yum install -y git && ci/build-check.sh'

---

context: f26-rust
inherit: true
container:
    image: registry.fedoraproject.org/fedora:26
env:
  CONFIGOPTS: '--enable-rust'
  CI_PKGS: cargo

tests:
    - ci/build.sh
    - make check TESTS=tests/test-rollsum

---

inherit: true

context: f26-experimental-api
env:
  CONFIGOPTS: '--enable-experimental-api'

tests:
  - ci/build-check.sh

---

inherit: true
required: true

context: f26-libsoup

env:
  CONFIGOPTS: "--without-curl --without-openssl --with-libsoup"

tests:
  - ci/build-check.sh

---

inherit: true
required: true

context: f26-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

---

inherit: false
branches:
    - master
    - auto
    - try

context: f26ah-insttest
required: false

cluster:
  hosts:
    - name: vmcheck
      distro: fedora/26/atomic
  container:
    image: registry.fedoraproject.org/fedora:26

# Copy the build from the container to the host; ideally down the line
# this is installing an RPM via https://github.com/jlebon/redhat-ci/issues/10
tests:
  - ci/build.sh
  - make install DESTDIR=$(pwd)/insttree
  - yum -y install rsync
  - rsync -rl -e 'ssh -o User=root' . vmcheck:ostree/
  - ssh root@vmcheck './ostree/tests/installed/fah-prep.sh && ostree admin unlock && rsync -rlv ./ostree/insttree/usr/ /usr/ && ./ostree/tests/installed/run.sh'

---

inherit: false
branches:
    - master
    - auto
    - try

context: f26-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/26/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:26 /bin/sh -c "cd /srv/code && ./ci/flatpak.sh"

artifacts:
  - test-suite.log
