diff --git a/appveyor.yml b/appveyor.yml new file mode 100644 index 0000000..266a9da --- /dev/null +++ b/appveyor.yml @@ -0,0 +1,83 @@ +# adapted from https://raw.githubusercontent.com/BurntSushi/ripgrep/master/appveyor.yml +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_all + +environment: + CARGO_HOME: "c:\\cargo" + RUSTUP_HOME: "c:\\rustup" + CARGO_TARGET_DIR: "c:\\projects\\ripgrep_all\\target" + global: + PROJECT_NAME: ripgrep_all + 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 + +# Hack to work around a harmless warning in Appveyor builds? +build: false + +# Equivalent to Travis' `script` phase +test_script: + - cargo test --verbose --all --features pcre2 + +before_deploy: + # Generate artifacts for release + - cargo build --release --features pcre2 + - mkdir staging + - copy target\release\rga.exe staging + - copy target\release\rga-preproc.exe staging + - ps: copy target\release\build\ripgrep*\out\_rg.ps1 staging + - cd staging + # release zipfile will look like 'ripgrep-1.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: stable + appveyor_repo_tag: true + +branches: + only: + - /^\d+\.\d+\.\d+$/ + - master