ci: retire travis configuration Travis CI was kind enough to offer free builds to open source for many years (thanks!). Unfortunately, the inevitable abuse means that travis-ci.org is ending on the 31st December 2020 (https://docs.travis-ci.com/user/migrate/open-source-repository-migration#frequently-asked-questions). Current travis-ci.org users who wish to continue with Travis have to create an account on travis-ci.com and will be put on a trial plan (see https://blog.travis-ci.com/2020-11-02-travis-ci-new-billing ). This becomes complicated for the fio project because although users are gifted are 10,000 credits: - If those credits are used for Linux builds you will be limited to 1000 minutes worth of builds (each fio CI run does about 60 minutes of Linux builds) - If those credits are used for macOS builds you will be limited to 200 minutes worth of builds (each fio CI run does two macOS builds that take up about 25 minutes together) - Even if you still have credit, the trial plan expires in a year - An open source project can ask for more credit but it is a manual process that requires manually creating a support request - The above means the initial credit would run out before the sixth CI run Rather than going through a migration and the risk of using up all the free credits let's retire Travis builds. Signed-off-by: Sitsofe Wheeler <sitsofe@yahoo.com>
.travis.yml: Move shell code out of .travis.yml Shell code in a .travis.yml file is hard to test. Make it easy to run the shell code locally and to verify that code with shellcheck by moving the shell code into separate files. Signed-off-by: Bart Van Assche <bvanassche@acm.org> Signed-off-by: Jens Axboe <axboe@kernel.dk>
Revert ".travis.yml: remove pip line from xcode11.2 config" This reverts commit 839e0223363e323a4acbdfaf785b03d5aa9f53ba. Two weeks ago an update to the xcode11.2 image required the above patch to get macOS testing working. Recently the xcode11.2 image was changed back to its earlier state. So we now need to revert the above patch for testing to work. Signed-off-by: Vincent Fu <vincent.fu@wdc.com>
travis: remove duplicate xcode image and add comments We already build on whatever the default Travis xcode image is which is currently 9.4 so remove the duplicate build targeting 9.4 and add some comments explaining the purpose of the different builds. Signed-off-by: Sitsofe Wheeler <sitsofe@yahoo.com>
.travis.yml: xcode11.2 scipy issue The previous commit that added support for xcode11.2 resolved the steadystate_tests scipy dependency with 'pip3 install scipy'. However, the travis xcode11.2 image changed and now we need 'pip install scipy' to provide the scipy dependency. To forestall future issues, install scipy for both python2 and python3. Also enable debug output in run-fio-tests.py to provide more information in case of failure. Signed-off-by: Vincent Fu <vincent.fu@wdc.com>
.travis.yml: run t/run-fio.tests.py as part of build - install SciPy and CUnit support - skip test 6 because of timeout - skip zbd tests 1007, 1008 because installing kernel modules is not supported - replace xcode8.3 (lacks python3) with latest xcode11.2 Signed-off-by: Jens Axboe <axboe@kernel.dk>
travis: add 32 bit build, minor updates and cleanups - Rejig the Travis file so it does a 32 bit Linux build (albeit on a 64 bit system). GlusterFS is only installed on 64 bit Linux because the 32 bit deb tries to pull in psmisc:i386 which conflicts with the regular (64 bit) psmisc. The clang 32 bit build works fine but only the gcc 32 bit build is done to reduce the number of builds for now. - Minor reformatting to make it a bit easier to read the shell script (but behind the scenes it's still all squashed on to one line). - Stop apt from installing/upgrading non-essential packages so as to reduce build time. - Make OSX build use a newer Xcode.
travis: install additional development libraries Change the travis configuration to install development libraries and headers for librbd (Ceph/rados), glusterfs, libibverbs and librdmacm on Linux CI builds so we can check the related engines continue to build. This reverses commit ff56a4e2e0a87e4e3b1cc1e74547d55b295967a6 ("travis: don't enable rbd") because the previous commit now prevents the rbd engine being built when the librbd found is too old. Signed-off-by: Sitsofe Wheeler <sitsofe@yahoo.com>
ci: make CI builds fail on compilation warnings Fio currently builds without warnings using its default options on at least the platforms where CI is run (Linux, macOS, Windows). Unfortunately it's easy to overlook changes that start generating warnings on a platform you don't use regularly. Make this problem more visible by changing appveyor/travis CI builds to fail when compilation warnings are produced (but don't make this change for normal manual builds). Signed-off-by: Sitsofe Wheeler <sitsofe@yahoo.com>