2016-10-19 19:37:54 +03:00
branches :
- master
- auto
- try
2016-12-07 00:29:39 +03:00
required : true
2017-11-27 20:18:19 +03:00
context : f27-primary
2016-12-07 00:29:39 +03:00
2016-10-19 19:37:54 +03:00
container :
2017-11-27 20:18:19 +03:00
image : registry.fedoraproject.org/fedora:27
2016-12-08 05:26:43 +03:00
2016-11-09 05:37:43 +03:00
env :
2017-06-21 00:19:01 +03:00
# Enable all the sanitizers for this primary build.
# We only use -Werror=maybe-uninitialized here with a "fixed" toolchain
2017-06-28 18:59:36 +03:00
CFLAGS : '-fsanitize=undefined -fsanitize-undefined-trap-on-error -fsanitize=address -O2 -Wp,-D_FORTIFY_SOURCE=2'
2017-06-27 01:12:33 +03:00
# Only for CI with a known g-ir-scanner
GI_SCANNERFLAGS : '--warn-error'
2016-12-08 05:26:43 +03:00
ASAN_OPTIONS : 'detect_leaks=0' # Right now we're not fully clean, but this gets us use-after-free etc
# TODO when we're doing leak checks: G_SLICE: "always-malloc"
2017-10-11 17:54:59 +03:00
CONFIGOPTS : '--with-curl --with-openssl'
2016-11-09 05:37:43 +03:00
2016-10-19 19:37:54 +03:00
tests :
2017-06-08 20:47:20 +03:00
- ci/ci-commitmessage-submodules.sh
- ci/build-check.sh
2017-06-19 18:25:25 +03:00
- ci/ci-release-build.sh
2016-10-19 19:37:54 +03:00
timeout : 30m
2017-09-26 21:05:08 +03:00
# Keep this in sync with build-check.sh
2016-10-19 19:37:54 +03:00
artifacts :
2017-06-08 20:47:20 +03:00
- test-suite.log
2017-07-20 22:34:15 +03:00
- config.log
2017-09-26 21:05:08 +03:00
- gdtr-results
oxidation: Add implementation of bupsplit in Rust
This is an initial drop of "oxidation", or adding implementation
of components in Rust. The bupsplit code is a good target - no
dependencies, just computation.
Translation into Rust had a few twists -
- The C code relies a lot on overflowing unsigned ints, and
also on the C promotion rules for e.g. `uint8_t -> int32_t`
- There were some odd loops that I introduced bugs in while
translating...in particular, the function always returns `len`,
but I mistakenly translated to `len+1`, resulting in an OOB
read on the C side, which was hard to debug.
On the plus side, an off-by-one array indexing in the Rust code paniced nicely.
In practice, we'll need a lot more build infrastructure to make this work, such
as using `cargo vendor` when producing build artifacts for example. Also, Cargo
is yet another thing we need to cache.
Where do we go with this? Well, I think we should merge this, it's not a lot of
code. We can just have it be an alternative CI target. Should we do a lot more
right now? Probably not immediately, but I find the medium/long term prospects
pretty exciting!
Closes: #656
Approved by: jlebon
2017-01-25 05:43:53 +03:00
---
2017-06-27 23:39:27 +03:00
context : c7-primary
oxidation: Add implementation of bupsplit in Rust
This is an initial drop of "oxidation", or adding implementation
of components in Rust. The bupsplit code is a good target - no
dependencies, just computation.
Translation into Rust had a few twists -
- The C code relies a lot on overflowing unsigned ints, and
also on the C promotion rules for e.g. `uint8_t -> int32_t`
- There were some odd loops that I introduced bugs in while
translating...in particular, the function always returns `len`,
but I mistakenly translated to `len+1`, resulting in an OOB
read on the C side, which was hard to debug.
On the plus side, an off-by-one array indexing in the Rust code paniced nicely.
In practice, we'll need a lot more build infrastructure to make this work, such
as using `cargo vendor` when producing build artifacts for example. Also, Cargo
is yet another thing we need to cache.
Where do we go with this? Well, I think we should merge this, it's not a lot of
code. We can just have it be an alternative CI target. Should we do a lot more
right now? Probably not immediately, but I find the medium/long term prospects
pretty exciting!
Closes: #656
Approved by: jlebon
2017-01-25 05:43:53 +03:00
inherit : true
2017-06-09 17:57:40 +03:00
required : true
2017-06-27 23:39:27 +03:00
host :
distro : centos/7/atomic
2017-06-09 17:57:40 +03:00
env :
CFLAGS : ''
2017-10-11 17:54:59 +03:00
CONFIGOPTS : '--with-curl --with-openssl'
2017-06-09 17:57:40 +03:00
tests :
2017-06-27 23:39:27 +03:00
- docker run --privileged -v $PWD:$PWD --workdir $PWD
2017-10-24 17:27:23 +03:00
registry.centos.org/centos/centos:7 sh -c
2017-06-27 23:39:27 +03:00
'yum install -y git && ci/build-check.sh'
2017-06-09 17:57:40 +03:00
---
oxidation: Add implementation of bupsplit in Rust
This is an initial drop of "oxidation", or adding implementation
of components in Rust. The bupsplit code is a good target - no
dependencies, just computation.
Translation into Rust had a few twists -
- The C code relies a lot on overflowing unsigned ints, and
also on the C promotion rules for e.g. `uint8_t -> int32_t`
- There were some odd loops that I introduced bugs in while
translating...in particular, the function always returns `len`,
but I mistakenly translated to `len+1`, resulting in an OOB
read on the C side, which was hard to debug.
On the plus side, an off-by-one array indexing in the Rust code paniced nicely.
In practice, we'll need a lot more build infrastructure to make this work, such
as using `cargo vendor` when producing build artifacts for example. Also, Cargo
is yet another thing we need to cache.
Where do we go with this? Well, I think we should merge this, it's not a lot of
code. We can just have it be an alternative CI target. Should we do a lot more
right now? Probably not immediately, but I find the medium/long term prospects
pretty exciting!
Closes: #656
Approved by: jlebon
2017-01-25 05:43:53 +03:00
2018-01-18 17:01:27 +03:00
context : f27-rust
2017-06-09 17:57:40 +03:00
inherit : true
container :
2018-01-18 17:01:27 +03:00
image : registry.fedoraproject.org/fedora:27
oxidation: Add implementation of bupsplit in Rust
This is an initial drop of "oxidation", or adding implementation
of components in Rust. The bupsplit code is a good target - no
dependencies, just computation.
Translation into Rust had a few twists -
- The C code relies a lot on overflowing unsigned ints, and
also on the C promotion rules for e.g. `uint8_t -> int32_t`
- There were some odd loops that I introduced bugs in while
translating...in particular, the function always returns `len`,
but I mistakenly translated to `len+1`, resulting in an OOB
read on the C side, which was hard to debug.
On the plus side, an off-by-one array indexing in the Rust code paniced nicely.
In practice, we'll need a lot more build infrastructure to make this work, such
as using `cargo vendor` when producing build artifacts for example. Also, Cargo
is yet another thing we need to cache.
Where do we go with this? Well, I think we should merge this, it's not a lot of
code. We can just have it be an alternative CI target. Should we do a lot more
right now? Probably not immediately, but I find the medium/long term prospects
pretty exciting!
Closes: #656
Approved by: jlebon
2017-01-25 05:43:53 +03:00
env :
2017-06-08 20:47:20 +03:00
CONFIGOPTS : '--enable-rust'
2017-09-06 19:42:51 +03:00
CI_PKGS : cargo
oxidation: Add implementation of bupsplit in Rust
This is an initial drop of "oxidation", or adding implementation
of components in Rust. The bupsplit code is a good target - no
dependencies, just computation.
Translation into Rust had a few twists -
- The C code relies a lot on overflowing unsigned ints, and
also on the C promotion rules for e.g. `uint8_t -> int32_t`
- There were some odd loops that I introduced bugs in while
translating...in particular, the function always returns `len`,
but I mistakenly translated to `len+1`, resulting in an OOB
read on the C side, which was hard to debug.
On the plus side, an off-by-one array indexing in the Rust code paniced nicely.
In practice, we'll need a lot more build infrastructure to make this work, such
as using `cargo vendor` when producing build artifacts for example. Also, Cargo
is yet another thing we need to cache.
Where do we go with this? Well, I think we should merge this, it's not a lot of
code. We can just have it be an alternative CI target. Should we do a lot more
right now? Probably not immediately, but I find the medium/long term prospects
pretty exciting!
Closes: #656
Approved by: jlebon
2017-01-25 05:43:53 +03:00
tests :
2017-06-08 20:47:20 +03:00
- ci/build.sh
oxidation: Add implementation of bupsplit in Rust
This is an initial drop of "oxidation", or adding implementation
of components in Rust. The bupsplit code is a good target - no
dependencies, just computation.
Translation into Rust had a few twists -
- The C code relies a lot on overflowing unsigned ints, and
also on the C promotion rules for e.g. `uint8_t -> int32_t`
- There were some odd loops that I introduced bugs in while
translating...in particular, the function always returns `len`,
but I mistakenly translated to `len+1`, resulting in an OOB
read on the C side, which was hard to debug.
On the plus side, an off-by-one array indexing in the Rust code paniced nicely.
In practice, we'll need a lot more build infrastructure to make this work, such
as using `cargo vendor` when producing build artifacts for example. Also, Cargo
is yet another thing we need to cache.
Where do we go with this? Well, I think we should merge this, it's not a lot of
code. We can just have it be an alternative CI target. Should we do a lot more
right now? Probably not immediately, but I find the medium/long term prospects
pretty exciting!
Closes: #656
Approved by: jlebon
2017-01-25 05:43:53 +03:00
- make check TESTS=tests/test-rollsum
2017-05-19 17:39:48 +03:00
---
2018-01-18 17:01:27 +03:00
context : f27-gnutls
2017-06-13 16:56:21 +03:00
inherit : true
container :
2018-01-18 17:01:27 +03:00
image : registry.fedoraproject.org/fedora:27
2017-06-13 16:56:21 +03:00
env :
CONFIGOPTS : '--with-crypto=gnutls'
CI_PKGS : pkgconfig(gnutls)
tests :
- ci/build.sh
- make check TESTS=tests/test-basic.sh
---
2017-05-19 17:39:48 +03:00
inherit : true
2018-01-18 17:01:27 +03:00
context : f27-experimental-api
2017-05-19 17:39:48 +03:00
env :
2017-06-08 20:47:20 +03:00
CONFIGOPTS : '--enable-experimental-api'
2017-05-19 17:39:48 +03:00
tests :
2017-06-08 20:47:20 +03:00
- ci/build-check.sh
2017-05-19 17:39:48 +03:00
2016-12-08 05:02:30 +03:00
---
2017-09-19 22:19:05 +03:00
inherit : true
2018-01-18 17:01:27 +03:00
context : f27-minimal
2017-09-19 22:19:05 +03:00
env :
CONFIGOPTS : '--without-curl --without-soup --disable-gtk-doc --disable-man
--disable-rust --without-libarchive --without-selinux --without-smack
--without-openssl --without-avahi --without-libmount --disable-rofiles-fuse
--disable-experimental-api'
tests :
- ci/build.sh
---
2016-12-08 05:02:30 +03:00
inherit : true
required : true
2018-01-18 17:01:27 +03:00
context : f27-libsoup
2016-12-08 05:02:30 +03:00
2017-06-08 20:47:20 +03:00
env :
2017-07-26 22:51:57 +03:00
CONFIGOPTS : "--without-curl --without-openssl --with-libsoup"
2016-12-08 05:02:30 +03:00
tests :
2017-06-08 20:47:20 +03:00
- ci/build-check.sh
2017-04-24 21:40:06 +03:00
---
2017-07-19 16:21:23 +03:00
inherit : true
required : true
2018-01-18 17:01:27 +03:00
context : f27-introspection-tests
2017-07-19 16:21:23 +03:00
env :
# ASAN conflicts with introspection testing;
# See https://github.com/ostreedev/ostree/issues/1014
2017-07-20 17:32:44 +03:00
INSTALLED_TESTS_PATTERN : "libostree/test-sizes.js libostree/test-sysroot.js libostree/test-core.js"
2017-07-19 16:21:23 +03:00
tests :
- ci/build-check.sh
---
2017-04-24 21:40:06 +03:00
inherit : false
branches :
- master
- auto
- try
2018-01-18 17:01:27 +03:00
context : f27ah-insttest
2017-04-24 21:40:06 +03:00
required : false
cluster :
hosts :
- name : vmcheck
2018-01-18 17:01:27 +03:00
distro : fedora/27/atomic
2017-04-24 21:40:06 +03:00
container :
2018-01-18 17:01:27 +03:00
image : registry.fedoraproject.org/fedora:27
2017-04-24 21:40:06 +03:00
# Copy the build from the container to the host; ideally down the line
# this is installing an RPM via https://github.com/jlebon/redhat-ci/issues/10
tests :
2017-06-08 20:47:20 +03:00
- ci/build.sh
2017-04-24 21:40:06 +03:00
- make install DESTDIR=$(pwd)/insttree
2017-07-18 12:59:04 +03:00
- yum -y install rsync
2017-04-24 21:40:06 +03:00
- rsync -rl -e 'ssh -o User=root' . vmcheck:ostree/
2017-09-26 19:41:07 +03:00
- ssh root@vmcheck './ostree/tests/installed/fah-prep.sh && ./ostree/tests/installed/run.sh'
2017-04-24 21:40:06 +03:00
2017-04-28 16:32:35 +03:00
---
inherit : false
branches :
- master
- auto
- try
2017-07-18 12:59:04 +03:00
context : f26-flatpak
2017-04-28 16:32:35 +03:00
required : false
# 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 :
2017-07-18 12:59:04 +03:00
distro : fedora/26/atomic
2017-05-02 01:02:27 +03:00
specs :
ram : 4096 # build-bundle is a static delta, which needs RAM right now
2017-04-28 16:32:35 +03:00
tests :
2017-07-18 12:59:04 +03:00
- docker run --rm --privileged -v $(pwd):/srv/code registry.fedoraproject.org/fedora:26 /bin/sh -c "cd /srv/code && ./ci/flatpak.sh"
2017-04-28 16:32:35 +03:00
artifacts :
- test-suite.log
2018-01-09 21:20:24 +03:00
---
# Run rpm-ostree's vmcheck. This is a temporary hack until
# we share more code. https://github.com/projectatomic/rpm-ostree/issues/662
inherit : false
branches :
- master
- auto
- try
context : f27-rpmostree
required : true
cluster :
hosts :
- name : vmcheck
distro : fedora/27/atomic
container :
image : registry.fedoraproject.org/fedora:27
env :
HOSTS : vmcheck
# This should roughly match the Fedora spec file, although right now we don't
# explicitly enable gtk-doc because we don't really need it
CONFIGOPTS : '--with-selinux --with-dracut=yesbutnoconf --with-curl --with-openssl'
tests :
- ./ci/rpmostree.sh
artifacts :
- test-suite.log
- vmcheck
timeout : 60m