# 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