mirror of
https://github.com/BurntSushi/ripgrep.git
synced 2024-12-12 19:18:24 +02:00
1f70e9187c
This update brings with it a new feature of the regex crate which will now use SIMD optimizations automatically at runtime with no necessary compile time flags. All that's needed is to enable the `unstable` feature. Other crates, such as bytecount and encoding_rs, are still using the old-style SIMD support, so we leave the simd-accel and avx-accel features. However, the binaries we distribute on Github no longer have those features enabled, which makes them truly portable. Fixes #135
85 lines
2.2 KiB
YAML
85 lines
2.2 KiB
YAML
# 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
|
|
matrix:
|
|
- TARGET: i686-pc-windows-gnu
|
|
CHANNEL: stable
|
|
- TARGET: i686-pc-windows-msvc
|
|
CHANNEL: stable
|
|
- TARGET: x86_64-pc-windows-gnu
|
|
CHANNEL: stable
|
|
- 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% --no-modify-path
|
|
- if defined MSYS2_BITS set PATH=%PATH%;C:\msys64\mingw%MSYS2_BITS%\bin
|
|
- 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
|
|
|
|
before_deploy:
|
|
# Generate artifacts for release
|
|
- cargo build --release --features unstable
|
|
- 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
|