-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add .travis.yml #6829
Add .travis.yml #6829
Conversation
@@ -57,6 +57,10 @@ | |||
# before data integrity is compromised | |||
# | |||
|
|||
if [[ $TRAVIS = 'true' ]]; then | |||
log_unsupported "Test case is disabled in Travis-ci (timeout kill)" | |||
fi |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We're seeing spurious failures for the same test case in buildbot too. Why don't we simply disable it across the board for now and open an issue in the tracker so we can track it and get it properly resolved.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Agree, #6840
.travis.yml
Outdated
- sudo apt-get install --yes -qq build-essential autoconf libtool gawk alien fakeroot linux-headers-$(uname -r) | ||
- sudo apt-get install --yes -qq zlib1g-dev uuid-dev libattr1-dev libblkid-dev libselinux-dev libudev-dev libssl-dev | ||
# packages for tests | ||
- sudo apt-get install --yes -qq libdevmapper-dev parted lsscsi ksh attr acl nfs-kernel-server fio |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You can remove libdevmapper-dev
this dependency was only added briefly. I'll make sure it get's dropped from the wiki documentation.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You don't forcibly need to issue arbitrary APT commands, Travis has a module so you can list what packages you need and it will install automatically: https://docs.travis-ci.com/user/installing-dependencies/#Installing-Packages-with-the-APT-Addon
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@behlendorf thanks, removed it.
@sylveon thanks, unfortunately it doesn't give any gain, only more verbose, which we don't need. I'll revert it.
sudo: required | ||
env: | ||
global: | ||
# Travis limits maximum log size, we have to cut tests output |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If we're forced to truncate the logs it would be good to make the build itself quieter so there are more lines available for the test results.
This could be accomplished by running the testing in tree by using make --no-print-directory -s
and it would have the upside of speeding up the build which will allow more time for testing.
Codecov Report
@@ Coverage Diff @@
## master #6829 +/- ##
==========================================
+ Coverage 75.12% 75.14% +0.02%
==========================================
Files 297 297
Lines 94468 94444 -24
==========================================
+ Hits 70970 70973 +3
+ Misses 23498 23471 -27
Continue to review full report at Codecov.
|
- sh autogen.sh | ||
- ./configure | ||
- make --no-print-directory -s pkg-utils pkg-kmod | ||
- sudo dpkg -i *.deb |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If we skip building packages entire that should speed up the build. What do you think about this?
- git clone --depth=1 https://github.com/zfsonlinux/spl
- cd spl
- sh autogen.sh
- ./configure
- make --no-print-directory -s
- cd ..
- sh autogen.sh
- ./configure --with-spl=$(pwd)/spl
- make --no-print-directory -s
Then assuming we're still in the root of the zfs git tree.
- sudo ./scripts/zfs.sh
- sudo ./scripts/zfs-helpers.sh -iv
- travis_wait 50 ./scripts/zfs-tests.sh -v -T $ZFS_TEST_TAGS
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, but unfortunately, while compilation time decreased, tests time was longer (I wonder why), and there is a problem with zfs_destroy_001_pos
test in such case. Reverted.
fe07f15
to
c05faed
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The approach looks fine to me, but in the latest run I saw you're still hitting timeouts. Just let me know when you have things tuned to your liking.
@@ -0,0 +1,38 @@ | |||
language: c |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does this file need to be in the root of the tree or can it be moved to the .github
directory?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Unfortunately it has to be in root travis-ci/travis-ci#5519
3b771e4
to
1aab996
Compare
I've fitted it in 5 builders, so now we can get all results in 50 minutes. Last build https://travis-ci.org/gmelikov/zfs/builds/299583733 Last problem is with zfs_destroy_001_pos - it consistently fails:
|
Travis builders have maximum work time ~49 minutes, so we have to use 5 builders. Signed-off-by: George Melikov <[email protected]>
It's ready to merge, 2 last builds are successful: https://travis-ci.org/gmelikov/zfs/builds/301000827 https://travis-ci.org/gmelikov/zfs/builds/300975940 |
Travis builders have maximum work time ~49 minutes, so we have to use 5 builders and spread the ZTS over them using test group tags. Reviewed-by: Brian Behlendorf <[email protected]> Reviewed-by: Giuseppe Di Natale <[email protected]> Signed-off-by: George Melikov <[email protected]> Closes openzfs#6829
Travis builders have maximum work time ~49 minutes, so we have to use 5 builders and spread the ZTS over them using test group tags. Reviewed-by: Brian Behlendorf <[email protected]> Reviewed-by: Giuseppe Di Natale <[email protected]> Signed-off-by: George Melikov <[email protected]> Closes openzfs#6829
Travis builders have maximum work time ~49 minutes, so we have to use 5 builders and spread the ZTS over them using test group tags. Reviewed-by: Brian Behlendorf <[email protected]> Reviewed-by: Giuseppe Di Natale <[email protected]> Signed-off-by: George Melikov <[email protected]> Closes openzfs#6829
Description
Travis builders have maximum work time ~49 minutes,
so we have to use 5 builders.
Example: https://travis-ci.org/gmelikov/zfs/builds/297947563
In future we can add:
Signed-off-by: George Melikov [email protected]
Motivation and Context
Now we can use Travis-ci service on every branch and fork. For example, if you setup Travis on your fork, then you can test every commit without PR to main repository or manual install VM for zfs-tests.
How Has This Been Tested?
Example: https://travis-ci.org/gmelikov/zfs/builds/297947563
Types of changes
Checklist:
Signed-off-by
.