summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLilian A. Moraru <lilian.moraru90@gmail.com>2017-12-19 01:04:49 +0200
committerAndrew Gallant <jamslam@gmail.com>2017-12-19 08:16:31 -0500
commit636bbc7c8f88585bc4aa22aabea47373fe92aa59 (patch)
tree90263ded94b755b09563a1e6b68a68d7f093f15e
parent162e085b98f8f2c627a92402d2e38dda04fc3e48 (diff)
Speeding CI builds
-rw-r--r--.travis.yml2
-rw-r--r--Cargo.toml3
-rw-r--r--appveyor.yml29
-rw-r--r--ci/script.sh14
-rw-r--r--ignore/Cargo.toml3
-rw-r--r--wincolor/src/lib.rs3
6 files changed, 31 insertions, 23 deletions
diff --git a/.travis.yml b/.travis.yml
index 6fa631e7..fd329d75 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,4 +1,5 @@
language: rust
+cache: cargo
env:
global:
@@ -12,6 +13,7 @@ addons:
- zsh
matrix:
+ fast_finish: true
include:
# Nightly channel.
# (All *nix releases are done on the nightly channel to take advantage
diff --git a/Cargo.toml b/Cargo.toml
index f66cc17b..dcc2227a 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -29,6 +29,9 @@ name = "rg"
name = "integration"
path = "tests/tests.rs"
+[workspace]
+members = [ "grep", "globset", "ignore", "termcolor", "wincolor" ]
+
[dependencies]
atty = "0.2.2"
bytecount = "0.2"
diff --git a/appveyor.yml b/appveyor.yml
index 2aa4c526..6f9d73cb 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -1,4 +1,20 @@
+# Inspired from https://github.com/habitat-sh/habitat/blob/master/appveyor.yml
+cache:
+ - c:\cargo\registry
+ - c:\cargo\git
+ - c:\projects\ripgrep\target
+
+init:
+ - mkdir c:\cargo
+ - mkdir c:\rustup
+ - SET PATH=c:\cargo\bin;%PATH%
+
+clone_folder: c:\projects\ripgrep
+
environment:
+ CARGO_HOME: "c:\\cargo"
+ RUSTUP_HOME: "c:\\rustup"
+ CARGO_TARGET_DIR: "c:\\projects\\ripgrep\\target"
global:
PROJECT_NAME: ripgrep
RUST_BACKTRACE: full
@@ -12,12 +28,14 @@ environment:
- TARGET: x86_64-pc-windows-msvc
CHANNEL: stable
+matrix:
+ fast_finish: true
+
# Install Rust and Cargo
# (Based on from https://github.com/rust-lang/libc/blob/master/appveyor.yml)
install:
- curl -sSf -o rustup-init.exe https://win.rustup.rs/
- - rustup-init.exe -y --default-host %TARGET%
- - set PATH=%PATH%;C:\Users\appveyor\.cargo\bin
+ - rustup-init.exe -y --default-host %TARGET% --no-modify-path
- if defined MSYS2_BITS set PATH=%PATH%;C:\msys64\mingw%MSYS2_BITS%\bin
- rustc -V
- cargo -V
@@ -28,12 +46,7 @@ build: false
# Equivalent to Travis' `script` phase
# TODO modify this phase as you see fit
test_script:
- - cargo test --verbose
- - cargo test --verbose --manifest-path grep/Cargo.toml
- - cargo test --verbose --manifest-path globset/Cargo.toml
- - cargo test --verbose --manifest-path ignore/Cargo.toml
- - cargo test --verbose --manifest-path wincolor/Cargo.toml
- - cargo test --verbose --manifest-path termcolor/Cargo.toml
+ - cargo test --verbose --all
before_deploy:
# Generate artifacts for release
diff --git a/ci/script.sh b/ci/script.sh
index 299f562f..32aef003 100644
--- a/ci/script.sh
+++ b/ci/script.sh
@@ -4,9 +4,6 @@ set -ex
. $(dirname $0)/utils.sh
-# "." - dot is for the current directory(ripgrep itself)
-components=( . grep globset ignore termcolor )
-
# 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() {
@@ -18,18 +15,11 @@ disable_cross_doctests() {
fi
}
-run_cargo() {
- for component in "${components[@]}"; do
- cargo "${1:?}" --target $TARGET --verbose --manifest-path "${component}/Cargo.toml"
- done
-}
-
main() {
# disable_cross_doctests
- run_cargo clean
- run_cargo build
+ cargo build --target "${TARGET}" --verbose --all
if [ "$(architecture)" = "amd64" ] || [ "$(architecture)" = "i386" ]; then
- run_cargo test
+ cargo test --target "${TARGET}" --verbose --all
"$( dirname "${0}" )/test_complete.sh"
fi
diff --git a/ignore/Cargo.toml b/ignore/Cargo.toml
index 14a07a90..fbdbc5e0 100644
--- a/ignore/Cargo.toml
+++ b/ignore/Cargo.toml
@@ -33,6 +33,3 @@ tempdir = "0.3.5"
[features]
simd-accel = ["globset/simd-accel"]
-
-[profile.release]
-debug = true
diff --git a/wincolor/src/lib.rs b/wincolor/src/lib.rs
index 44c9e410..457f33ae 100644
--- a/wincolor/src/lib.rs
+++ b/wincolor/src/lib.rs
@@ -8,6 +8,8 @@ Note that on non-Windows platforms, this crate is empty but will compile.
# Example
```no_run
+# #[cfg(windows)]
+# {
use wincolor::{Console, Color, Intense};
let mut con = Console::stdout().unwrap();
@@ -15,6 +17,7 @@ con.fg(Intense::Yes, Color::Cyan).unwrap();
println!("This text will be intense cyan.");
con.reset().unwrap();
println!("This text will be normal.");
+# }
```
*/