2016-10-28 23:43:16 +03:00
branches :
- master
- auto
- try
2018-05-19 17:48:18 +03:00
context : f28-codestyle
2016-12-06 22:45:49 +03:00
required : true
2018-05-09 00:59:05 +03:00
container :
2018-05-19 17:48:18 +03:00
image : registry.fedoraproject.org/fedora:28
2018-05-09 00:59:05 +03:00
tests :
- ci/ci-commitmessage-submodules.sh
- ci/codestyle.sh
---
2018-05-19 17:48:18 +03:00
context : f28-primary
2018-05-09 00:59:05 +03:00
inherit : true
2016-12-06 22:45:49 +03:00
2017-07-17 20:40:25 +03:00
cluster :
hosts :
- name : vmcheck1
2018-05-19 17:48:18 +03:00
distro : fedora/28/atomic
2017-07-17 20:40:25 +03:00
- name : vmcheck2
2018-05-19 17:48:18 +03:00
distro : fedora/28/atomic
2017-07-17 20:40:25 +03:00
- name : vmcheck3
2018-05-19 17:48:18 +03:00
distro : fedora/28/atomic
2017-07-17 20:40:25 +03:00
container :
2018-05-19 17:48:18 +03:00
image : registry.fedoraproject.org/fedora:28
2016-11-12 00:21:39 +03:00
2017-07-17 20:40:25 +03:00
env :
HOSTS : vmcheck1 vmcheck2 vmcheck3
2017-09-19 17:40:35 +03:00
# 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
2017-09-06 20:53:46 +03:00
CI_PKGS : rsync
2017-05-12 17:18:50 +03:00
2016-10-28 23:43:16 +03:00
tests :
2017-07-05 19:02:33 +03:00
- ci/build-check.sh
2018-03-08 23:56:05 +03:00
- ci/vmcheck-provision.sh
2017-07-17 20:40:25 +03:00
- make vmcheck
2018-07-10 18:49:03 +03:00
# make sure we're aware of any tests that were skipped
- "grep -nr '^SKIP: ' vmcheck/ || :"
2017-07-05 19:02:33 +03:00
2017-07-17 20:40:25 +03:00
timeout : 60m
2017-06-08 23:17:33 +03:00
2017-07-17 20:40:25 +03:00
artifacts :
- test-suite.log
2017-09-19 17:40:35 +03:00
- config.log
2017-07-17 20:40:25 +03:00
- vmcheck
2017-06-08 23:17:33 +03:00
---
inherit : true
2017-07-17 20:40:25 +03:00
context : c7-primary
2016-11-22 17:29:29 +03:00
2016-12-07 23:14:54 +03:00
required : true
2016-12-06 22:45:49 +03:00
2016-11-22 17:29:29 +03:00
cluster :
hosts :
2017-03-11 01:56:16 +03:00
- name : vmcheck1
2017-11-09 22:24:15 +03:00
distro : centos/7/atomic/smoketested
2018-05-14 21:07:28 +03:00
# XXX: temp hack until smoketested has newer glib2
2018-07-20 20:31:56 +03:00
# XXX: and also causes layering-relabel to fail?
# https://github.com/projectatomic/rpm-ostree/pull/1406
2018-05-14 21:07:28 +03:00
ostree :
branch : centos-atomic-host/7/x86_64/devel/continuous
2017-03-11 01:56:16 +03:00
- name : vmcheck2
2017-11-09 22:24:15 +03:00
distro : centos/7/atomic/smoketested
2018-05-14 21:07:28 +03:00
ostree :
branch : centos-atomic-host/7/x86_64/devel/continuous
2017-03-11 01:56:16 +03:00
- name : vmcheck3
2017-11-09 22:24:15 +03:00
distro : centos/7/atomic/smoketested
2018-05-14 21:07:28 +03:00
ostree :
branch : centos-atomic-host/7/x86_64/devel/continuous
2017-07-05 19:02:33 +03:00
container :
2017-10-24 17:44:28 +03:00
image : registry.centos.org/centos/centos:7
2017-07-05 19:02:33 +03:00
2017-09-19 17:40:35 +03:00
# We only want the sanitizers on Fedora
env :
HOSTS : vmcheck1 vmcheck2 vmcheck3
CFLAGS : ''
2017-07-17 20:40:25 +03:00
extra-repos :
- name : atomic-centos-continuous
baseurl : https://ci.centos.org/artifacts/sig-atomic/rdgo/centos-continuous/build
gpgcheck : 0
2017-07-05 19:02:33 +03:00
tests :
2018-02-14 16:56:51 +03:00
# we're still on devmapper here; we need to expand rootfs for tests
- for vm in vmcheck{1..3}; do ssh $vm lvresize -r -L +5G atomicos/root; done
2018-03-08 23:56:05 +03:00
- ci/vmcheck-provision.sh
2017-07-17 20:40:25 +03:00
- yum install -y epel-release
- ci/build-check.sh
2017-07-05 19:02:33 +03:00
- make vmcheck
---
2017-07-05 19:01:31 +03:00
branches :
- master
- auto
- try
2018-05-19 17:48:18 +03:00
# NB: when bumping 28 here, also bump fedora.repo, and compose script
2017-05-26 23:21:02 +03:00
2018-08-09 19:14:01 +03:00
context : f28-compose1
2017-07-05 19:01:31 +03:00
2016-12-03 02:07:08 +03:00
build : false
2017-07-05 19:01:31 +03:00
2018-10-01 20:15:02 +03:00
timeout : 35m
2016-12-03 02:07:08 +03:00
2017-07-05 19:01:31 +03:00
required : true
2016-12-03 02:07:08 +03:00
# 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 :
2018-05-19 17:48:18 +03:00
distro : fedora/28/atomic
2018-01-09 18:46:23 +03:00
# Compose tests are slow and should be parallelized
specs :
cpus : 4
2016-12-03 02:07:08 +03:00
2018-08-09 19:14:01 +03:00
env :
RPMOSTREE_COMPOSE_TEST_FILTER : odd
Add releasever opt, avoid opening up host's rpmdb in treecompose
Closes: https://github.com/projectatomic/rpm-ostree/issues/546
Previously, we'd open up the host's rpmdb for both `compose tree`
and `ex container`. In the first case, because we require root, we'd
succeed. For `ex container`, we'd spew an error.
Fixing this was trickier than I thought. First because there was
*also* a libdnf bug here: https://github.com/rpm-software-management/libdnf/pull/307
Second, there's a compatibility hazard here for anyone using `.repo` files that
reference `$releasever`. This actually happened to me with `ex container` as I'd
just done a `ln -s /etc/yum.repos.d/fedora.repo rpmmd.repos.d`. I fixed
that first by doing a `sed -i -e 's,$releasever,26,' rpmmd.repos.d/*.repo`.
As far as I can see today, none of Fedora Atomic or CentOS AH rely on this. But
in order to enhance compatibility, let's add a "releasever" option. This makes
it easier again to reuse stock `.repo` files if we wanted to do so.
(Also, I realized we can just use `/usr/share/empty` as *the* canonical immutable
empty directory)
Closes: #875
Approved by: jlebon
2017-07-13 19:37:41 +03:00
# 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
2016-12-03 02:07:08 +03:00
tests :
2017-05-26 23:21:02 +03:00
- docker run --privileged --rm
2018-08-09 19:14:01 +03:00
-e RPMOSTREE_COMPOSE_TEST_FILTER
2017-09-29 17:01:18 +03:00
-e RPMOSTREE_COMPOSE_TEST_USE_REPOS=/etc/yum.repos.d.host
2017-05-26 23:21:02 +03:00
-v /etc/yum.repos.d:/etc/yum.repos.d.host:ro
-v $(pwd):/srv/code -w /srv/code
2018-05-19 17:48:18 +03:00
registry.fedoraproject.org/fedora:28 /bin/sh -c
2017-09-29 17:01:18 +03:00
"./ci/build.sh && make install && ./tests/compose"
2016-12-09 01:31:20 +03:00
artifacts :
2018-01-08 22:54:10 +03:00
- test-compose-logs
2017-07-27 21:27:31 +03:00
---
2018-08-09 19:14:01 +03:00
inherit : true
context : f28-compose2
env :
RPMOSTREE_COMPOSE_TEST_FILTER : even
---
2017-09-29 17:01:18 +03:00
branches :
- master
- auto
- try
2018-05-19 17:48:18 +03:00
context : f28-ex-container
2017-09-29 17:01:18 +03:00
build : false
timeout : 30m
required : false
2018-05-19 17:48:18 +03:00
# See the f28-compose context for why we do things this way.
2017-09-29 17:01:18 +03:00
host :
2018-05-19 17:48:18 +03:00
distro : fedora/28/atomic
2017-09-29 17:01:18 +03:00
tests :
- docker run --privileged --rm
2017-12-02 22:45:58 +03:00
-e RPMOSTREE_COMPOSE_TEST_USE_REPOS=/etc/yum.repos.d.host
-v /etc/yum.repos.d:/etc/yum.repos.d.host:ro
2017-09-29 17:01:18 +03:00
-v $(pwd):/srv/code -w /srv/code
2018-05-19 17:48:18 +03:00
registry.fedoraproject.org/fedora:28 /bin/sh -c
2017-09-29 17:01:18 +03:00
"./ci/build.sh && make install && adduser unpriv && setfacl -m u:unpriv:rwX . && runuser -u unpriv ./tests/ex-container"
artifacts :
- ex-container-logs