479406e6a5
Let's modernize and start supporting YAML treefiles. I'll dare make the sweeping generalization that most people would prefer reading and writing YAML over JSON. This takes bits from coreos-assembler[1] that know how to serialize a YAML file and spit it back out as a JSON and makes it into a shared lib that we can link against. We could use this eventually for JSON inputs as well to force a validation check before composing. If we go this route, we could then turn on `--enable-rust` in FAHC for now and drop the duplicate code in coreos-assembler. [1] https://github.com/cgwalters/coreos-assembler Closes: #1377 Approved by: cgwalters
171 lines
3.9 KiB
YAML
171 lines
3.9 KiB
YAML
branches:
|
|
- master
|
|
- auto
|
|
- try
|
|
|
|
context: f28-codestyle
|
|
|
|
required: true
|
|
container:
|
|
image: registry.fedoraproject.org/fedora:28
|
|
|
|
tests:
|
|
- ci/ci-commitmessage-submodules.sh
|
|
- ci/codestyle.sh
|
|
|
|
---
|
|
|
|
context: f28-primary
|
|
inherit: true
|
|
|
|
cluster:
|
|
hosts:
|
|
- name: vmcheck1
|
|
distro: fedora/28/atomic
|
|
# XXX: use updates ref for now so that we can use GA kernel in
|
|
# test-override-kernel.sh -- remove once another f28 AH update comes out
|
|
ostree:
|
|
branch: fedora/28/x86_64/updates/atomic-host
|
|
- name: vmcheck2
|
|
distro: fedora/28/atomic
|
|
ostree:
|
|
branch: fedora/28/x86_64/updates/atomic-host
|
|
- name: vmcheck3
|
|
distro: fedora/28/atomic
|
|
ostree:
|
|
branch: fedora/28/x86_64/updates/atomic-host
|
|
container:
|
|
image: registry.fedoraproject.org/fedora:28
|
|
|
|
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/build-check.sh
|
|
- ci/vmcheck-provision.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/smoketested
|
|
# XXX: temp hack until smoketested has newer glib2
|
|
ostree:
|
|
branch: centos-atomic-host/7/x86_64/devel/continuous
|
|
- name: vmcheck2
|
|
distro: centos/7/atomic/smoketested
|
|
ostree:
|
|
branch: centos-atomic-host/7/x86_64/devel/continuous
|
|
- name: vmcheck3
|
|
distro: centos/7/atomic/smoketested
|
|
ostree:
|
|
branch: centos-atomic-host/7/x86_64/devel/continuous
|
|
container:
|
|
image: registry.centos.org/centos/centos:7
|
|
|
|
# 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:
|
|
# 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
|
|
- ci/vmcheck-provision.sh
|
|
- yum install -y epel-release
|
|
- ci/build-check.sh
|
|
- make vmcheck
|
|
|
|
---
|
|
|
|
branches:
|
|
- master
|
|
- auto
|
|
- try
|
|
|
|
# NB: when bumping 28 here, also bump fedora.repo, and compose script
|
|
|
|
context: f28-compose
|
|
|
|
build: false
|
|
|
|
timeout: 40m
|
|
|
|
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/28/atomic
|
|
# Compose tests are slow and should be parallelized
|
|
specs:
|
|
cpus: 4
|
|
|
|
# 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 CONFIGOPTS=--enable-rust
|
|
-e CI_PKGS=cargo
|
|
-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:28 /bin/sh -c
|
|
"./ci/build.sh && make install && ./tests/compose"
|
|
|
|
artifacts:
|
|
- test-compose-logs
|
|
|
|
---
|
|
|
|
branches:
|
|
- master
|
|
- auto
|
|
- try
|
|
|
|
context: f28-ex-container
|
|
build: false
|
|
timeout: 30m
|
|
required: false
|
|
|
|
# See the f28-compose context for why we do things this way.
|
|
host:
|
|
distro: fedora/28/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:28 /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
|