mirror of
https://github.com/BurntSushi/ripgrep.git
synced 2024-12-12 19:18:24 +02:00
bb110c1ebe
This commit does the work to delete the old `grep` crate and effectively rewrite most of ripgrep core to use the new libripgrep crates. The new `grep` crate is now a facade that collects the various crates that make up libripgrep. The most complex part of ripgrep core is now arguably the translation between command line parameters and the library options, which is ultimately where we want to be.
90 lines
2.3 KiB
YAML
90 lines
2.3 KiB
YAML
cache:
|
|
- c:\cargo\registry
|
|
- c:\cargo\git
|
|
|
|
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
|
|
matrix:
|
|
- TARGET: x86_64-pc-windows-gnu
|
|
CHANNEL: stable
|
|
BITS: 64
|
|
MSYS2: 1
|
|
- TARGET: x86_64-pc-windows-msvc
|
|
CHANNEL: stable
|
|
BITS: 64
|
|
- TARGET: i686-pc-windows-gnu
|
|
CHANNEL: stable
|
|
BITS: 32
|
|
MSYS2: 1
|
|
- TARGET: i686-pc-windows-msvc
|
|
CHANNEL: stable
|
|
BITS: 32
|
|
|
|
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
|
|
- if defined MSYS2 set PATH=C:\msys64\mingw%BITS%\bin;%PATH%
|
|
- rustc -V
|
|
- cargo -V
|
|
|
|
# ???
|
|
build: false
|
|
|
|
# Equivalent to Travis' `script` phase
|
|
# TODO modify this phase as you see fit
|
|
test_script:
|
|
- cargo test --verbose --all --features pcre2
|
|
|
|
before_deploy:
|
|
# Generate artifacts for release
|
|
- cargo build --release --features pcre2
|
|
- mkdir staging
|
|
- copy target\release\rg.exe staging
|
|
- ps: copy target\release\build\ripgrep-*\out\_rg.ps1 staging
|
|
- 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:
|
|
description: 'Automatically deployed release'
|
|
# 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
|
|
CHANNEL: stable
|
|
appveyor_repo_tag: true
|
|
|
|
branches:
|
|
only:
|
|
- /\d+\.\d+\.\d+/
|
|
- master
|
|
# - appveyor
|
|
# - /\d+\.\d+\.\d+/
|
|
# except:
|
|
# - master
|