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:
|
|
|
|
# Nightly channel
|
|
|
|
- TARGET: i686-pc-windows-gnu
|
|
|
|
CHANNEL: nightly
|
|
|
|
- TARGET: i686-pc-windows-msvc
|
|
|
|
CHANNEL: nightly
|
|
|
|
- TARGET: x86_64-pc-windows-gnu
|
|
|
|
CHANNEL: nightly
|
|
|
|
- TARGET: x86_64-pc-windows-msvc
|
|
|
|
CHANNEL: nightly
|
|
|
|
|
|
|
|
# Install Rust and Cargo
|
|
|
|
# (Based on from https://github.com/rust-lang/libc/blob/master/appveyor.yml)
|
|
|
|
install:
|
|
|
|
- ps: Start-FileDownload "https://static.rust-lang.org/dist/channel-rust-stable"
|
|
|
|
- ps: $env:RUST_VERSION = Get-Content channel-rust-stable | select -first 1 | %{$_.split('-')[1]}
|
|
|
|
- if NOT "%CHANNEL%" == "stable" set RUST_VERSION=%CHANNEL%
|
|
|
|
- ps: Start-FileDownload "https://static.rust-lang.org/dist/rust-${env:RUST_VERSION}-${env:TARGET}.exe"
|
|
|
|
- rust-%RUST_VERSION%-%TARGET%.exe /VERYSILENT /NORESTART /DIR="C:\Program Files (x86)\Rust"
|
|
|
|
- SET PATH=%PATH%;C:\Program Files (x86)\Rust\bin
|
|
|
|
- if "%TARGET%" == "i686-pc-windows-gnu" set PATH=%PATH%;C:\msys64\mingw32\bin
|
|
|
|
- if "%TARGET%" == "x86_64-pc-windows-gnu" set PATH=%PATH%;C:\msys64\mingw64\bin
|
|
|
|
- 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-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
|
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:
|
|
|
|
description: 'Windows 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: nightly
|
|
|
|
appveyor_repo_tag: true
|
|
|
|
|
|
|
|
branches:
|
|
|
|
only:
|
|
|
|
- appveyor
|
|
|
|
- /\d+\.\d+\.\d+/
|
|
|
|
except:
|
|
|
|
- master
|