s3fs-fuse/.travis.yml

154 lines
6.1 KiB
YAML
Raw Normal View History

#
# s3fs - FUSE-based file system backed by Amazon S3
#
# Copyright(C) 2007 Randy Rizun <rrizun@gmail.com>
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
2015-03-07 20:05:20 +00:00
language: cpp
2020-06-30 13:22:38 +00:00
dist: xenial
os: linux
2017-08-11 14:09:43 +00:00
2020-06-30 13:22:38 +00:00
jobs:
2017-08-11 14:09:43 +00:00
include:
- os: linux
dist: trusty
cache: apt
before_install:
- sudo apt-get update -qq
- sudo apt-get install -qq attr cppcheck libfuse-dev openjdk-7-jdk
2017-08-11 14:09:43 +00:00
- sudo update-alternatives --set java /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java
2020-06-30 13:22:38 +00:00
- sudo -H pip install --upgrade awscli
2017-08-11 14:09:43 +00:00
script:
- ./autogen.sh
- ./configure CPPFLAGS='-I/usr/local/opt/openssl/include' CXXFLAGS='-std=c++03 -DS3FS_PTHREAD_ERRORCHECK=1'
2017-08-11 14:09:43 +00:00
- make
- make cppcheck
- make check -C src
- modprobe fuse
- travis_wait 30 make check -C test
- test/filter-suite-log.sh test/test-suite.log
2017-08-11 14:09:43 +00:00
- os: osx
osx_image: xcode9.2
2019-11-18 12:10:06 +00:00
cache:
directories:
- $HOME/Library/Caches/Homebrew
- /usr/local/Homebrew
- $HOME/.osx_cache
before_cache:
- brew cleanup
- cd /usr/local/Homebrew; find . \! -regex ".+\.git.+" -delete
- mkdir -p $HOME/.osx_cache; touch $HOME/.osx_cache/cached
2017-08-11 14:09:43 +00:00
before_install:
2019-11-18 12:10:06 +00:00
- TAPS="$(brew --repository)/Library/Taps";
if [ -e "$TAPS/caskroom/homebrew-cask" ]; then
rm -rf "$TAPS/caskroom/homebrew-cask";
fi;
if [ ! -f $HOME/.osx_cache/cached ]; then
2020-06-30 13:22:38 +00:00
echo "==> [Not found cache] brew tap homebrew/homebrew-cask";
echo "[NOTE]";
echo "If brew is executed without HOMEBREW_NO_AUTO_UPDATE=1,";
echo "python3 cannot be installed, so this is added as a temporary workaround.";
echo "If it is xcode 9.4 or higher, clear this patch.";
HOMEBREW_NO_AUTO_UPDATE=1 brew tap homebrew/homebrew-cask;
2019-11-18 12:10:06 +00:00
else
2020-06-30 13:22:38 +00:00
echo "==> [Found cache] HOMEBREW_NO_AUTO_UPDATE=1 brew tap homebrew/homebrew-cask";
2019-11-18 12:10:06 +00:00
HOMEBREW_NO_AUTO_UPDATE=1 brew tap homebrew/homebrew-cask;
fi
- HOMEBREW_NO_AUTO_UPDATE=1 brew cask install osxfuse
2020-06-30 13:22:38 +00:00
- S3FS_BREW_PACKAGES='cppcheck python3';
2019-11-18 12:10:06 +00:00
for s3fs_brew_pkg in ${S3FS_BREW_PACKAGES}; do
2020-07-10 10:34:46 +00:00
if brew list | grep -q ${s3fs_brew_pkg}; then
if brew outdated | grep -q ${s3fs_brew_pkg}; then
2020-06-30 13:22:38 +00:00
echo "==> Try to upgrade ${s3fs_brew_pkg}";
HOMEBREW_NO_AUTO_UPDATE=1 brew upgrade ${s3fs_brew_pkg};
fi
2019-11-18 12:10:06 +00:00
else
2020-06-30 13:22:38 +00:00
echo "==> Try to install ${s3fs_brew_pkg}";
2019-11-18 12:10:06 +00:00
HOMEBREW_NO_AUTO_UPDATE=1 brew install ${s3fs_brew_pkg};
fi;
done
2020-07-10 10:34:46 +00:00
- if pip3 --version; then
2020-06-30 13:22:38 +00:00
echo "==> Try to install awscli by pip3";
sudo -H pip3 install awscli;
else
echo "==> Try to install awscli by pip";
curl https://bootstrap.pypa.io/get-pip.py | sudo python;
sudo -H pip install awscli --ignore-installed matplotlib;
fi
2019-11-18 12:10:06 +00:00
- if [ -f /Library/Filesystems/osxfusefs.fs/Support/load_osxfusefs ]; then
sudo chmod +s /Library/Filesystems/osxfusefs.fs/Support/load_osxfusefs;
elif [ -f /Library/Filesystems/osxfuse.fs/Contents/Resources/load_osxfuse ]; then
sudo chmod +s /Library/Filesystems/osxfuse.fs/Contents/Resources/load_osxfuse;
2020-04-12 13:47:49 +00:00
else
exit 1;
2019-11-18 12:10:06 +00:00
fi
2020-06-30 13:22:38 +00:00
- if [ ! -f /usr/local/bin/truncate ]; then
echo "==> Make symbolic link truncate to gtruncate";
sudo ln -s /usr/local/opt/coreutils/bin/gtruncate /usr/local/bin/truncate;
fi
- if [ ! -f /usr/local/bin/stdbuf ]; then
echo "==> Make symbolic link stdbuf to gstdbuf";
sudo ln -s /usr/local/opt/coreutils/bin/gstdbuf /usr/local/bin/stdbuf;
fi
2017-08-11 14:09:43 +00:00
script:
- ./autogen.sh
- PKG_CONFIG_PATH=/usr/local/opt/curl/lib/pkgconfig:/usr/local/opt/openssl/lib/pkgconfig ./configure CXXFLAGS='-std=c++03 -DS3FS_PTHREAD_ERRORCHECK=1'
2017-08-11 14:09:43 +00:00
- make
- make cppcheck
- make check -C src
2020-04-12 13:47:49 +00:00
- if [ -f /Library/Filesystems/osxfusefs.fs/Support/load_osxfusefs ]; then
/Library/Filesystems/osxfusefs.fs/Support/load_osxfusefs;
elif [ -f /Library/Filesystems/osxfuse.fs/Contents/Resources/load_osxfuse ]; then
/Library/Filesystems/osxfuse.fs/Contents/Resources/load_osxfuse;
else
exit 1;
fi
- travis_wait 30 make check -C test
- test/filter-suite-log.sh test/test-suite.log
2018-11-27 14:53:24 +00:00
- os: linux-ppc64le
dist: trusty
cache: apt
before_install:
- sudo add-apt-repository -y ppa:openjdk-r/ppa
- sudo apt-get update -qq
- sudo apt-get install -qq attr cppcheck libfuse-dev openjdk-7-jdk
2018-11-27 14:53:24 +00:00
- sudo update-alternatives --set java /usr/lib/jvm/java-7-openjdk-ppc64el/jre/bin/java
2020-06-30 13:22:38 +00:00
- sudo -H pip install --upgrade awscli
2018-11-27 14:53:24 +00:00
script:
- ./autogen.sh
- ./configure CPPFLAGS='-I/usr/local/opt/openssl/include' CXXFLAGS='-std=c++03 -DS3FS_PTHREAD_ERRORCHECK=1'
2018-11-27 14:53:24 +00:00
- make
- make cppcheck
- make check -C src
- modprobe fuse
- travis_wait 30 make check -C test
- test/filter-suite-log.sh test/test-suite.log
exclude:
- if: os = linux-ppc64le # TODO: travis-ci.com cannot use Java 7 which S3Proxy requires
#
# Local variables:
# tab-width: 4
# c-basic-offset: 4
# End:
# vim600: expandtab sw=4 ts=4 fdm=marker
# vim<600: expandtab sw=4 ts=4
#