The 'box' target is not that different from the default one regarding
dependencies so build it as well by default for better coverage.
Signed-off-by: David Sterba <dsterba@suse.com>
The runner scripts ci/ci-build... pass build options that work for each
distro, however this was not matching some Dockerfiles. Pulling such
image would then fail due to missing dependencies (namely libudev).
Signed-off-by: David Sterba <dsterba@suse.com>
There was a bug when a branch contained a slash then the file with
downloaded sources was not found. Update all, all images have to be
rebuilt and pushed to docker hub so the changes are applied inside
github actions.
Signed-off-by: David Sterba <dsterba@suse.com>
https://www.openssl.org/ Is a well known cryptography library and since
freshly released version 3.2 it also supports variable digest size of
blake2b, so we can now add it among the crypto providers.
Configure with --with-crypto=openssl.
Signed-off-by: David Sterba <dsterba@suse.com>
https://botan.randombit.net/ Botan is a cryptography library with C
bindings and provides what we need (sha256 and blake2b), among many
others. Add it to the list of crypto backends if somebody wants to use
it.
Currently the version 2.19 is the latest one. Botan3 3.2.0 exists but
does not seem to be widely available in distros yet.
Configure with --with-crypto=botan.
Signed-off-by: David Sterba <dsterba@suse.com>
We run pahole for the ioctl-test, which requires the dwarves package.
Add that to the docker images.
Signed-off-by: Josef Bacik <josef@toxicpanda.com>
Signed-off-by: David Sterba <dsterba@suse.com>
- use proper json array filtering
- use long parameter names
- add comments
- add cleaner for coverage runs
- keep last run for branches with badges at README
Signed-off-by: David Sterba <dsterba@suse.com>
Add helper scripts to build static binaries manually or clean old runs.
Requires the 'gh' command line tool and write access the git repository.
Signed-off-by: David Sterba <dsterba@suse.com>
Add new CI image target based on 32bit Alpine with musl. It's a copy of
musl and requires docker's buildx extension to properly select the
platform.
Signed-off-by: David Sterba <dsterba@suse.com>
The free tier of travis-ci has ended on 05/2021, remove the scripts.
Nowadays zstd has made it to all distros so we don't need to build
it from sources, reiserfs support is fading out so we don't need to
build it either. The integration with coverity scan needs to be done
again. The rest has been moved to new github actions CI.
Signed-off-by: David Sterba <dsterba@suse.com>
The gitlab CI was experimentally used for btrfs-progs testsuite in
nested VM with recent kernel (as the base CI image was too old). This
unfortunately did not work due to time limit for the CI run, the build
and tests haven't finished.
Gitlab supports self-hosted runners so this can be integrated
eventually.
Signed-off-by: David Sterba <dsterba@suse.com>
Using 'docker run -it' works for interactive sessions but not inside the
CI environment. We want both so make it optional by detecting if stdin
is a terminal.
Signed-off-by: David Sterba <dsterba@suse.com>
There's an unconditional 'shift' in the scripts that will lead to an
error "cannot shift" and this would fail inside CI. We want an implicit
run on current HEAD so shift only when there are more parameters.
Signed-off-by: David Sterba <dsterba@suse.com>
Add the libaries and update script so additional configure parameters
can be passed. Also enable backtrace so it's closer to the defaults.
Signed-off-by: David Sterba <dsterba@suse.com>
Add the libaries and update script so additional configure parameters
can be passed. Also enable backtrace so it's closer to the defaults.
Only the libsodium is enabled and verified to build, libgcrypt has
sufficient version on 8 but configure does not detect it for some
reason. Libkca is old on both.
Signed-off-by: David Sterba <dsterba@suse.com>
Add the libaries and update script so additional configure parameters
can be passed. Also enable backtrace and libudev so it's closer to the
defaults.
Leap 15.3 properly builds only with libsodium, 15.4 with libgcrypt and
libsodium. Libkcapi is old on both.
Signed-off-by: David Sterba <dsterba@suse.com>
Add the libaries and update script so additional configure parameters
can be passed. Also enable backtrace and libudev so it's closer to the
defaults.
Signed-off-by: David Sterba <dsterba@suse.com>
The main script ci/images/test-build should be most up to date and
copied to all docker templates, sync them. Fix descriptions that were
copy&pasted from musl. Add missing test-build script from musl image.
Signed-off-by: David Sterba <dsterba@suse.com>
A fresh build of Centos 8 fails due to changes in upstream repositoris:
"Error: Failed to download metadata for repo ‘appstream’: Cannot prepare
internal mirrorlist: No URLs in mirrorlist"
There are repositories no longer updated (and missing some packages like
reiserfs-utils) but for our CI purposes it's sufficient so make it work.
Signed-off-by: David Sterba <dsterba@suse.com>
The devel package for reiserfs is no longer available in openSUSE
Tumbleweed. Build auto-detects the support for convert.
Signed-off-by: David Sterba <dsterba@suse.com>
The test programs are not build by default but we want at least the
build coverage, so add them. Also make the build parallel.
Signed-off-by: David Sterba <dsterba@suse.com>
Add some scripts for convenience, so far there was only one for musl as
it usually breaks first, but we've had some problems on centos due to
old kernel headers and potential breakage when changing kerncpomat.h.
Signed-off-by: David Sterba <dsterba@suse.com>
Run ci/ci-build-musl to verify build of current branch works in
environment with musl libc. Also works for a given branch name.
Signed-off-by: David Sterba <dsterba@suse.com>
Extend build coverage. The versions are different on all images and can
be run as:
$ ./docker-run --env CC=clang
Signed-off-by: David Sterba <dsterba@suse.com>
The runner script allows to pass arguments to docker and the final
command, using the -- separator. This did not work as expected, the
arguments got concatenated to the first member, not all of them passed.
The following now works:
$ ./docker-run --env CC=clang
$ ./docker-run --env CC=clang --
$ ./docker-run --env CC=clang -- /bin/bash
Signed-off-by: David Sterba <dsterba@suse.com>
Move installation of gzip before autotools as it would otherwise pull
busybox-gzip (and busybox) and that causes problems later.
Signed-off-by: David Sterba <dsterba@suse.com>
The free travis-ci.org service is going to be discontinued. The
replacement travis-ci.com could be used instead but is not exactly the
same.
The images provided by the service contained old kernel and this hinders
testing of new features, tests were failing and the coverage was
incomplete. The docker images will be used to do build coverage in
another way. A hosted CI is still desired so the search continues.
Issue: #171
Signed-off-by: David Sterba <dsterba@suse.com>
The support for zoned mode is incomplete and won't change so we can
disable it on Leap 15.2 and Centos 8.
Signed-off-by: David Sterba <dsterba@suse.com>