# Based on the "trust" template v0.1.2
# https://github.com/japaric/trust/tree/v0.1.2

environment:
  global:
    RUST_VERSION: stable
    CRATE_NAME: topgrade

  matrix:
    - TARGET: x86_64-pc-windows-msvc

install:
  - ps: >-
      If ($Env:TARGET -eq 'x86_64-pc-windows-gnu') {
        $Env:PATH += ';C:\msys64\mingw64\bin'
      } ElseIf ($Env:TARGET -eq 'i686-pc-windows-gnu') {
        $Env:PATH += ';C:\msys64\mingw32\bin'
      }
  - curl -sSf -o rustup-init.exe https://win.rustup.rs/
  - rustup-init.exe -y --default-host %TARGET% --default-toolchain %RUST_VERSION%
  - set PATH=%PATH%;C:\Users\appveyor\.cargo\bin
  - rustup component add rustfmt-preview clippy-preview
  - rustc -Vv
  - cargo -V

test_script:
  - if [%APPVEYOR_REPO_TAG%]==[false] (
      cargo fmt --all -- --check &&
      cargo clippy --all-targets --all-features -- -D warnings &&
      cargo clippy --all-targets -- -D warnings &&
      cargo test
    )

before_deploy:
  - cargo rustc --target %TARGET% --release --bin topgrade --all-features -- -C lto
  - ps: ci\before_deploy.ps1

deploy:
  artifact: /.*\.zip/
  auth_token:
    secure: ZZhV8a8uNrzQdUHMHwrDvyWcYTg9ZueyU/sGK9qMhSzB487WgbOoOq6GtXipC8jy
  description: ''
  on:
    RUST_VERSION: stable
    appveyor_repo_tag: true
  provider: GitHub

cache:
  - C:\Users\appveyor\.cargo\registry
  - target

notifications:
  - provider: Email
    on_build_success: false

# Building is done in the test phase, so we disable Appveyor's build phase.
build: false
