1
0
mirror of https://github.com/BurntSushi/ripgrep.git synced 2024-12-12 19:18:24 +02:00
ripgrep/ci/script.sh

41 lines
1.2 KiB
Bash
Raw Normal View History

2016-09-06 02:08:46 +02:00
# `script` phase: you usually build, test and generate docs in this phase
set -ex
. $(dirname $0)/utils.sh
# "." - dot is for the current directory(ripgrep itself)
components=( . grep globset ignore termcolor )
2016-09-06 02:08:46 +02:00
# NOTE Workaround for rust-lang/rust#31907 - disable doc tests when cross compiling
# This has been fixed in the nightly channel but it would take a while to reach the other channels
disable_cross_doctests() {
if [ $(host) != "$TARGET" ] && [ "$TRAVIS_RUST_VERSION" = "stable" ]; then
if [ "$TRAVIS_OS_NAME" = "osx" ]; then
brew install gnu-sed --default-names
fi
find src -name '*.rs' -type f | xargs sed -i -e 's:\(//.\s*```\):\1 ignore,:g'
fi
}
run_cargo() {
for component in "${components[@]}"; do
cargo "${1:?}" --target $TARGET --verbose --manifest-path "${component}/Cargo.toml"
done
2016-09-06 02:08:46 +02:00
}
main() {
2016-09-10 00:10:20 +02:00
# disable_cross_doctests
run_cargo clean
run_cargo build
if [ "$(architecture)" = "amd64" ] || [ "$(architecture)" = "i386" ]; then
run_cargo test
"$( dirname "${0}" )/test_complete.sh"
fi
# sanity check the file type
file target/$TARGET/debug/rg
2016-09-06 02:08:46 +02:00
}
main