From 0f9caf4410c0bfe407d15d12667c48ccd5818c1f Mon Sep 17 00:00:00 2001 From: Jorge Aparicio Date: Mon, 7 Mar 2016 17:14:05 -0500 Subject: [PATCH 1/2] set up AppVeyor to test and deploy on Windows --- appveyor.yml | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 appveyor.yml diff --git a/appveyor.yml b/appveyor.yml new file mode 100644 index 00000000..241a13e4 --- /dev/null +++ b/appveyor.yml @@ -0,0 +1,64 @@ +environment: + global: + PROJECT_NAME: mdBook + matrix: + # Stable channel + - TARGET: i686-pc-windows-msvc + RUST_CHANNEL: stable + - TARGET: x86_64-pc-windows-msvc + RUST_CHANNEL: stable + # Beta channel + - TARGET: i686-pc-windows-msvc + RUST_CHANNEL: beta + - TARGET: x86_64-pc-windows-msvc + RUST_CHANNEL: beta + # Nightly channel + - TARGET: i686-pc-windows-msvc + RUST_CHANNEL: nightly + - TARGET: x86_64-pc-windows-msvc + RUST_CHANNEL: nightly + +# Install Rust and Cargo +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 "%RUST_CHANNEL%" == "stable" set RUST_VERSION=%RUST_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 + - rustc -V + - cargo -V + +build: false + +# Equivalent to Travis' `script` phase +test_script: + - cargo build --verbose + - cargo test --verbose + +before_deploy: + # Generate artifacts for release + - cargo build --release + - mkdir staging + - copy target\release\mdbook.exe staging + - cd staging + - 7z a ../%PROJECT_NAME%-%APPVEYOR_REPO_TAG_NAME%-%TARGET%.zip * + +artifacts: + - path: $(PROJECT_NAME)-$(APPVEYOR_REPO_TAG_NAME)-$(TARGET).zip + name: $(PROJECT_NAME)-$(APPVEYOR_REPO_TAG_NAME)-$(TARGET).zip + type: zip + +deploy: + description: 'Windows release' + artifact: /.*\.zip/ + auth_token: + secure: QQhjKVyz7mpjlyGhlXytbFQQfKFQWTahHkD+B0NzIUoEVqO7ZLWjnoWasvLqW4nE + provider: GitHub + on: + RUST_CHANNEL: stable + appveyor_repo_tag: true + +branches: + only: + - master From 469cb10d4af97886158d65093c5c6c17bfc8a090 Mon Sep 17 00:00:00 2001 From: Jorge Aparicio Date: Mon, 7 Mar 2016 18:01:05 -0500 Subject: [PATCH 2/2] manually package artifact during before_deploy phase The automatic packaging phase runs before the before_deploy phase which is too early so we can rely on it. --- appveyor.yml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index 241a13e4..87da24ce 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -43,11 +43,7 @@ before_deploy: - copy target\release\mdbook.exe staging - cd staging - 7z a ../%PROJECT_NAME%-%APPVEYOR_REPO_TAG_NAME%-%TARGET%.zip * - -artifacts: - - path: $(PROJECT_NAME)-$(APPVEYOR_REPO_TAG_NAME)-$(TARGET).zip - name: $(PROJECT_NAME)-$(APPVEYOR_REPO_TAG_NAME)-$(TARGET).zip - type: zip + - appveyor PushArtifact ../%PROJECT_NAME%-%APPVEYOR_REPO_TAG_NAME%-%TARGET%.zip deploy: description: 'Windows release'