7db30fec13
* 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.
174 lines
3.7 KiB
YAML
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
|