2016-10-28 23:43:16 +03:00
branches :
- master
- auto
- try
2019-03-15 17:00:52 +03:00
context : f29-codestyle
2018-05-19 17:48:18 +03:00
2016-12-06 22:45:49 +03:00
required : true
2018-05-09 00:59:05 +03:00
container :
2019-03-15 17:00:52 +03:00
image : registry.fedoraproject.org/fedora:29
2018-05-09 00:59:05 +03:00
tests :
- ci/ci-commitmessage-submodules.sh
- ci/codestyle.sh
---
2019-03-07 06:23:52 +03:00
# Build a Fedora CoreOS ostree
context : fcos29-cosa-build
inherit : true
# This test case wants unprivileged recursive containers
# which we don't have right now; so just provision a VM and do a
# docker --privileged run.
# https://github.com/openshift/origin/issues/21514
host :
distro : fedora/29/atomic
tests :
- ./ci/f29-cosa-build.sh
timeout : 60m
---
2019-03-15 17:00:52 +03:00
context : f29-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
2019-03-15 17:00:52 +03:00
distro : fedora/29/atomic
2017-07-17 20:40:25 +03:00
- name : vmcheck2
2019-03-15 17:00:52 +03:00
distro : fedora/29/atomic
2017-07-17 20:40:25 +03:00
- name : vmcheck3
2019-03-15 17:00:52 +03:00
distro : fedora/29/atomic
2017-07-17 20:40:25 +03:00
container :
2019-03-15 17:00:52 +03:00
image : registry.fedoraproject.org/fedora:29
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-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
---
2017-07-05 19:01:31 +03:00
branches :
- master
- auto
- try
2019-03-15 17:00:52 +03:00
# NB: when bumping 29 here, also bump compose script
2017-05-26 23:21:02 +03:00
2019-03-15 17:00:52 +03:00
context : f29-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 :
2019-03-15 17:00:52 +03:00
distro : fedora/29/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
2019-03-15 17:00:52 +03:00
registry.fedoraproject.org/fedora:29 /bin/sh -c
2018-10-01 22:23:25 +03:00
"cp /etc/yum.repos.d.host/* /etc/yum.repos.d/ && ./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
2019-03-15 17:00:52 +03:00
context : f29-compose2
2018-08-09 19:14:01 +03:00
env :
RPMOSTREE_COMPOSE_TEST_FILTER : even
---
2017-09-29 17:01:18 +03:00
branches :
- master
- auto
- try
2019-03-15 17:00:52 +03:00
context : f29-ex-container
2017-09-29 17:01:18 +03:00
build : false
timeout : 30m
required : false
2019-03-15 17:00:52 +03:00
# See the f29-compose context for why we do things this way.
2017-09-29 17:01:18 +03:00
host :
2019-03-15 17:00:52 +03:00
distro : fedora/29/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
2019-03-15 17:00:52 +03:00
registry.fedoraproject.org/fedora:29 /bin/sh -c
2018-10-01 22:23:25 +03:00
"cp /etc/yum.repos.d.host/* /etc/yum.repos.d/ && ./ci/build.sh && make install && adduser unpriv && setfacl -m u:unpriv:rwX . && runuser -u unpriv ./tests/ex-container"
2017-09-29 17:01:18 +03:00
artifacts :
- ex-container-logs
2018-10-11 22:52:43 +03:00
---
branches :
- master
- auto
- try
context : rust-min-version-check
timeout : 30m
required : true
container :
2019-03-15 17:00:52 +03:00
image : registry.fedoraproject.org/fedora:29
2018-10-11 22:52:43 +03:00
env :
2019-03-18 17:16:52 +03:00
# this corresponds to the latest Rust module available in el8
RUST_MIN_VERSION : 1.31 .0
2018-10-11 22:52:43 +03:00
tests :
- ci/installdeps.sh
- yum remove -y cargo
- curl https://sh.rustup.rs -sSf | sh -s -- --default-toolchain $RUST_MIN_VERSION -y
2019-03-07 23:42:41 +03:00
- PATH=$HOME/.cargo/bin:$PATH ci/build.sh |& tee out.txt
2018-10-11 22:52:43 +03:00
- grep $RUST_MIN_VERSION out.txt
2019-03-07 23:42:41 +03:00
- grep "checking for cargo... $HOME/.cargo/bin/cargo" out.txt
- grep "checking for rustc... $HOME/.cargo/bin/rustc" out.txt