2016-09-06 02:57:58 +02:00
|
|
|
environment:
|
|
|
|
global:
|
2016-09-09 03:47:49 +02:00
|
|
|
PROJECT_NAME: ripgrep
|
2016-09-06 02:57:58 +02:00
|
|
|
matrix:
|
|
|
|
- TARGET: i686-pc-windows-gnu
|
2016-09-22 01:27:12 +02:00
|
|
|
CHANNEL: stable
|
2016-09-06 02:57:58 +02:00
|
|
|
- TARGET: i686-pc-windows-msvc
|
2016-09-22 01:27:12 +02:00
|
|
|
CHANNEL: stable
|
2016-09-06 02:57:58 +02:00
|
|
|
- TARGET: x86_64-pc-windows-gnu
|
2016-09-22 01:27:12 +02:00
|
|
|
CHANNEL: stable
|
2016-09-06 02:57:58 +02:00
|
|
|
- TARGET: x86_64-pc-windows-msvc
|
2016-09-22 01:27:12 +02:00
|
|
|
CHANNEL: stable
|
2016-09-06 02:57:58 +02:00
|
|
|
|
|
|
|
# Install Rust and Cargo
|
|
|
|
# (Based on from https://github.com/rust-lang/libc/blob/master/appveyor.yml)
|
|
|
|
install:
|
2016-09-22 01:27:12 +02:00
|
|
|
- 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
|
|
|
|
- if defined MSYS2_BITS set PATH=%PATH%;C:\msys64\mingw%MSYS2_BITS%\bin
|
2016-09-06 02:57:58 +02:00
|
|
|
- rustc -V
|
|
|
|
- cargo -V
|
|
|
|
|
|
|
|
# ???
|
|
|
|
build: false
|
|
|
|
|
|
|
|
# Equivalent to Travis' `script` phase
|
|
|
|
# TODO modify this phase as you see fit
|
|
|
|
test_script:
|
2016-09-06 04:01:53 +02:00
|
|
|
- cargo test --verbose
|
2016-10-11 01:35:47 +02:00
|
|
|
- cargo test --verbose --manifest-path grep/Cargo.toml
|
|
|
|
- cargo test --verbose --manifest-path globset/Cargo.toml
|
2016-10-12 01:57:09 +02:00
|
|
|
- cargo test --verbose --manifest-path ignore/Cargo.toml
|
Completely re-work colored output and tty handling.
This commit completely guts all of the color handling code and replaces
most of it with two new crates: wincolor and termcolor. wincolor
provides a simple API to coloring using the Windows console and
termcolor provides a platform independent coloring API tuned for
multithreaded command line programs. This required a lot more
flexibility than what the `term` crate provided, so it was dropped.
We instead switch to writing ANSI escape sequences directly and ignore
the TERMINFO database.
In addition to fixing several bugs, this commit also permits end users
to customize colors to a certain extent. For example, this command will
set the match color to magenta and the line number background to yellow:
rg --colors 'match:fg:magenta' --colors 'line:bg:yellow' foo
For tty handling, we've adopted a hack from `git` to do tty detection in
MSYS/mintty terminals. As a result, ripgrep should get both color
detection and piping correct on Windows regardless of which terminal you
use.
Finally, switch to line buffering. Performance doesn't seem to be
impacted and it's an otherwise more user friendly option.
Fixes #37, Fixes #51, Fixes #94, Fixes #117, Fixes #182, Fixes #231
2016-11-20 18:14:52 +02:00
|
|
|
- cargo test --verbose --manifest-path wincolor/Cargo.toml
|
|
|
|
- cargo test --verbose --manifest-path termcolor/Cargo.toml
|
2016-09-06 02:57:58 +02:00
|
|
|
|
|
|
|
before_deploy:
|
|
|
|
# Generate artifacts for release
|
2016-09-06 04:01:53 +02:00
|
|
|
# TODO(burntsushi): How can we enable SSSE3 on Windows?
|
|
|
|
- cargo build --release
|
2016-09-06 02:57:58 +02:00
|
|
|
- mkdir staging
|
2016-09-08 22:15:44 +02:00
|
|
|
- copy target\release\rg.exe staging
|
2017-03-14 03:51:37 +02:00
|
|
|
- ps: copy target\release\build\ripgrep-*\out\_rg.ps1 staging
|
2016-09-06 02:57:58 +02:00
|
|
|
- cd staging
|
|
|
|
# release zipfile will look like 'rust-everywhere-v1.2.3-x86_64-pc-windows-msvc'
|
|
|
|
- 7z a ../%PROJECT_NAME%-%APPVEYOR_REPO_TAG_NAME%-%TARGET%.zip *
|
|
|
|
- appveyor PushArtifact ../%PROJECT_NAME%-%APPVEYOR_REPO_TAG_NAME%-%TARGET%.zip
|
|
|
|
|
|
|
|
deploy:
|
2016-09-29 15:29:59 +02:00
|
|
|
description: 'Automatically deployed release'
|
2016-09-06 02:57:58 +02:00
|
|
|
# All the zipped artifacts will be deployed
|
|
|
|
artifact: /.*\.zip/
|
|
|
|
auth_token:
|
|
|
|
secure: vv4vBCEosGlyQjaEC1+kraP2P6O4CQSa+Tw50oHWFTGcmuXxaWS0/yEXbxsIRLpw
|
|
|
|
provider: GitHub
|
|
|
|
# deploy when a new tag is pushed and only on the stable channel
|
|
|
|
on:
|
|
|
|
# channel to use to produce the release artifacts
|
|
|
|
# NOTE make sure you only release *once* per target
|
|
|
|
# TODO you may want to pick a different channel
|
2016-09-22 01:37:34 +02:00
|
|
|
CHANNEL: stable
|
2016-09-06 02:57:58 +02:00
|
|
|
appveyor_repo_tag: true
|
|
|
|
|
|
|
|
branches:
|
|
|
|
only:
|
2016-10-30 04:42:22 +02:00
|
|
|
- /\d+\.\d+\.\d+/
|
2016-09-06 02:57:58 +02:00
|
|
|
- master
|
2016-10-12 01:57:09 +02:00
|
|
|
# - appveyor
|
|
|
|
# - /\d+\.\d+\.\d+/
|
|
|
|
# except:
|
|
|
|
# - master
|