appveyor.yml (2853B)
1 # Based on the "trust" template v0.1.1 2 # https://github.com/japaric/trust/tree/v0.1.1 3 4 environment: 5 global: 6 # TODO This is the Rust channel that build jobs will use by default but can be 7 # overridden on a case by case basis down below 8 RUST_VERSION: stable 9 10 # TODO Update this to match the name of your project. 11 CRATE_NAME: hangups 12 13 # TODO These are all the build jobs. Adjust as necessary. Comment out what you 14 # don't need 15 matrix: 16 # MinGW 17 - TARGET: i686-pc-windows-gnu 18 - TARGET: x86_64-pc-windows-gnu 19 20 # MSVC 21 - TARGET: i686-pc-windows-msvc 22 - TARGET: x86_64-pc-windows-msvc 23 24 # Testing other channels 25 - TARGET: x86_64-pc-windows-gnu 26 RUST_VERSION: nightly 27 - TARGET: x86_64-pc-windows-msvc 28 RUST_VERSION: nightly 29 30 install: 31 - ps: >- 32 If ($Env:TARGET -eq 'x86_64-pc-windows-gnu') { 33 $Env:PATH += ';C:\msys64\mingw64\bin' 34 } ElseIf ($Env:TARGET -eq 'i686-pc-windows-gnu') { 35 $Env:PATH += ';C:\msys64\mingw32\bin' 36 } 37 - curl -sSf -o rustup-init.exe https://win.rustup.rs/ 38 - rustup-init.exe -y --default-host %TARGET% --default-toolchain %RUST_VERSION% 39 - set PATH=%PATH%;C:\Users\appveyor\.cargo\bin 40 - rustc -Vv 41 - cargo -V 42 43 # TODO This is the "test phase", tweak it as you see fit 44 test_script: 45 # we don't run the "test phase" when doing deploys 46 - if [%APPVEYOR_REPO_TAG%]==[false] ( 47 cargo build --target %TARGET% && 48 cargo build --target %TARGET% --release && 49 cargo test --target %TARGET% && 50 cargo test --target %TARGET% --release && 51 cargo run --target %TARGET% && 52 cargo run --target %TARGET% --release 53 ) 54 55 before_deploy: 56 # TODO Update this to build the artifacts that matter to you 57 - cargo rustc --target %TARGET% --release --bin hello -- -C lto 58 - ps: ci\before_deploy.ps1 59 60 deploy: 61 artifact: /.*\.zip/ 62 # TODO update `auth_token.secure` 63 # - Create a `public_repo` GitHub token. Go to: https://github.com/settings/tokens/new 64 # - Encrypt it. Go to https://ci.appveyor.com/tools/encrypt 65 # - Paste the output down here 66 auth_token: 67 secure: N1hgKZtolY+DR71ZakhyXiKwMAYk09RD5V89YZys8v3VCLH/0UnsJe4WuHsYMSvX 68 description: '' 69 on: 70 # TODO Here you can pick which targets will generate binary releases 71 # In this example, there are some targets that are tested using the stable 72 # and nightly channels. This condition makes sure there is only one release 73 # for such targets and that's generated using the stable channel 74 RUST_VERSION: stable 75 appveyor_repo_tag: true 76 provider: GitHub 77 78 cache: 79 - C:\Users\appveyor\.cargo\registry 80 - target 81 82 branches: 83 only: 84 # Release tags 85 - /^v\d+\.\d+\.\d+.*$/ 86 - master 87 88 notifications: 89 - provider: Email 90 on_build_success: false 91 92 # Building is done in the test phase, so we disable Appveyor's build phase. 93 build: false