rpm-ostree/.papr.yml
Colin Walters 7db30fec13
treefile: Support arch-include (#1886)
* treefile: Rework test helper

Have each test clearly hold its tempdir; this way we can have a simple
helper function rather than a struct with an unreferenced parameter.

Also use `utils::write_file`.

Prep for further test work.

* treefile: Add a basic test for includes

Prep for adding an arch include test.

* treefile: Support `arch-include`

A long time ago we added architecture-specific package lists
via e.g. `packages-ppc64le`.  Much more recently we added
support for having the `include` key be a list - multiple includes.

By combining these two and supporting architecture-conditional includes,
we've effectively added architecture-conditionals to *all* keys.

Notably we want this for Fedora CoreOS today which is using
`remove-from-packages` on `grub2-tools` which isn't present on
s390x.

* ci: Bump cosa build timeout

Looks like another OpenStack perf regression.
2019-08-21 15:25:08 -04:00

174 lines
3.7 KiB
YAML

branches:
- master
- auto
- try
context: f29-codestyle
required: true
container:
image: registry.fedoraproject.org/fedora:29
tests:
- ci/ci-commitmessage-submodules.sh
- ci/codestyle.sh
---
# 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: 120m
---
context: f29-primary
inherit: true
cluster:
hosts:
- name: vmcheck1
distro: fedora/29/atomic
- name: vmcheck2
distro: fedora/29/atomic
- name: vmcheck3
distro: fedora/29/atomic
container:
image: registry.fedoraproject.org/fedora:29
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
tests:
- ci/build-check.sh
- ci/vmcheck-provision.sh
- make vmcheck
# make sure we're aware of any tests that were skipped
- "grep -nr '^SKIP: ' vmcheck/ || :"
timeout: 60m
artifacts:
- test-suite.log
- config.log
- vmcheck
---
branches:
- master
- auto
- try
# NB: when bumping 29 here, also bump compose script
context: f29-compose1
build: false
timeout: 35m
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/29/atomic
# Compose tests are slow and should be parallelized
specs:
cpus: 4
env:
RPMOSTREE_COMPOSE_TEST_FILTER: odd
# 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_FILTER
-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:29 /bin/sh -c
"cp /etc/yum.repos.d.host/* /etc/yum.repos.d/ && ./ci/build.sh && make install && ./tests/compose"
artifacts:
- test-compose-logs
---
inherit: true
context: f29-compose2
env:
RPMOSTREE_COMPOSE_TEST_FILTER: even
---
branches:
- master
- auto
- try
context: f29-ex-container
build: false
timeout: 30m
required: false
# See the f29-compose context for why we do things this way.
host:
distro: fedora/29/atomic
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:29 /bin/sh -c
"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"
artifacts:
- ex-container-logs
---
branches:
- master
- auto
- try
context: rust-min-version-check
timeout: 30m
required: true
container:
image: registry.fedoraproject.org/fedora:29
env:
# this corresponds to the latest Rust module available in el8
RUST_MIN_VERSION: 1.31.0
tests:
- ci/installdeps.sh
- yum remove -y cargo
- curl https://sh.rustup.rs -sSf | sh -s -- --default-toolchain $RUST_MIN_VERSION -y
- PATH=$HOME/.cargo/bin:$PATH ci/build.sh |& tee out.txt
- grep $RUST_MIN_VERSION out.txt
- grep "checking for cargo... $HOME/.cargo/bin/cargo" out.txt
- grep "checking for rustc... $HOME/.cargo/bin/rustc" out.txt