rpm-ostree/.papr.yml
Colin Walters 1acd834104 Add test infra for ex container, and one test for bash
We have some unit-style tests that run `ex container`, but
they aren't "real"; they don't use scripts for example.  Let's
add tests for this similar to `tests/compose`.

We use a 26 base, but the target repos need to be 27
to pick up the fix for: https://bugzilla.redhat.com/show_bug.cgi?id=1478172

Add some bits to share infra between `tests/compose` and `tests/ex-container`;
basically handling the rpmmd repos. I tweaked things to be more streamlined
there between the `.papr.yml` and the test script.

Right now this is just one test for `bash`, but lays some of the infrastructure
for doing more. One thing that we need to do to improve more here is to better
cache RPMs, a bit like the compose tests do.

Closes: #1024
Approved by: jlebon
2017-10-02 18:04:24 +00:00

172 lines
3.6 KiB
YAML

branches:
- master
- auto
- try
context: f26-primary
required: true
cluster:
hosts:
- name: vmcheck1
distro: fedora/26/atomic
- name: vmcheck2
distro: fedora/26/atomic
- name: vmcheck3
distro: fedora/26/atomic
container:
image: registry.fedoraproject.org/fedora:26
env:
HOSTS: vmcheck1 vmcheck2 vmcheck3
# TODO use -fsanitize=address
CFLAGS: '-fsanitize=undefined -fsanitize-undefined-trap-on-error -O2 -Wp,-D_FORTIFY_SOURCE=2'
ASAN_OPTIONS: 'detect_leaks=0' # Right now we're not fully clean, but this gets us use-after-free etc
CI_PKGS: rsync
tests:
- ci/ci-commitmessage-submodules.sh
- ci/codestyle.sh
- ci/build-check.sh
- make vmcheck
timeout: 60m
artifacts:
- test-suite.log
- config.log
- vmcheck
---
inherit: true
context: c7-primary
required: true
cluster:
hosts:
- name: vmcheck1
distro: centos/7/atomic/alpha
- name: vmcheck2
distro: centos/7/atomic/alpha
- name: vmcheck3
distro: centos/7/atomic/alpha
container:
# FIXME remove this version binding when rpm-md repos are updated
image: registry.centos.org/centos/centos:7.3.1611
# We only want the sanitizers on Fedora
env:
HOSTS: vmcheck1 vmcheck2 vmcheck3
CFLAGS: ''
extra-repos:
- name: atomic-centos-continuous
baseurl: https://ci.centos.org/artifacts/sig-atomic/rdgo/centos-continuous/build
gpgcheck: 0
tests:
- yum install -y epel-release
- ci/build-check.sh
- make vmcheck
---
branches:
- master
- auto
- try
# NB: when bumping 26 here, also bump fedora.repo, and compose script
context: f26-compose
build: false
timeout: 30m
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/26/atomic
# Copy yum.repos.d to get any injected repos from the host, which
# will point to a closer mirror. Note we substitute $releasever
# since https://github.com/projectatomic/rpm-ostree/pull/875
tests:
- docker run --privileged --rm
-e RPMOSTREE_COMPOSE_TEST_USE_REPOS=/etc/yum.repos.d.host
-v /etc/yum.repos.d:/etc/yum.repos.d.host:ro
-v $(pwd):/srv/code -w /srv/code
registry.fedoraproject.org/fedora:26 /bin/sh -c
"./ci/build.sh && make install && ./tests/compose"
artifacts:
- compose.log
---
branches:
- master
- auto
- try
context: f26-to-27-ex-container
build: false
timeout: 30m
required: false
# See the f26-compose context for why we do things this way.
host:
distro: fedora/26/atomic
# We're not doing this bit yet since it breaks unless we use metalinks
# because f27 isn't released yet and released content is in a separate path.
# -e RPMOSTREE_COMPOSE_TEST_USE_REPOS=/etc/yum.repos.d.host
# -v /etc/yum.repos.d:/etc/yum.repos.d.host:ro
tests:
- docker run --privileged --rm
-v $(pwd):/srv/code -w /srv/code
registry.fedoraproject.org/fedora:26 /bin/sh -c
"./ci/build.sh && make install && adduser unpriv && setfacl -m u:unpriv:rwX . && runuser -u unpriv ./tests/ex-container"
artifacts:
- ex-container-logs
---
branches:
- master
- auto
- try
cluster:
hosts:
- name: testnode
distro: fedora/26/atomic
container:
image: registry.fedoraproject.org/fedora:26
context: f26-sanity
# https://bugzilla.redhat.com/show_bug.cgi?id=1483553
#packages:
# - ansible
# - git
# - rsync
env:
CI_PKGS: ansible git rsync
tests:
- ci/build.sh
- git clone https://github.com/projectatomic/atomic-host-tests
- make vmoverlay HOSTS=testnode
- cd atomic-host-tests && ./.test_director