version: "{build} ~ {branch}" os: Visual Studio 2017 branches: only: - staging - trying - master environment: matrix: - CHANNEL: stable ARCH: x86_64 ABI: msvc TARGET: x86_64-pc-windows-msvc cache: - 'C:\Users\appveyor\.cargo' - target - wapm-cli-target install: # # Install LLVM # - mkdir C:\projects\deps # - cd C:\projects\deps # - appveyor DownloadFile http://prereleases.llvm.org/win-snapshots/LLVM-7.0.0-r336178-win64.exe -FileName llvm.exe # - 7z x llvm.exe -oC:\projects\deps\llvm # # - set "PATH=%PATH%;C:\projects\deps\llvm\bin" # - set "LLD_LINK=C:\projects\deps\llvm\bin\lld-link.exe" # - set "LLVM_SYS_70_PREFIX=C:\projects\deps\llvm" # - cd "%APPVEYOR_BUILD_FOLDER%" # Install Rust # uncomment these lines if the cache is cleared, or if we must re-install rust for some reason # - appveyor DownloadFile https://win.rustup.rs/ -FileName rustup-init.exe # - rustup-init.exe -yv --default-host %target% - set PATH=%PATH%;C:\\Libraries\\llvm-5.0.0\\bin;%USERPROFILE%\.cargo\bin - rustup default stable-%target% - rustup update - rustc -vV - cargo -vV # Install InnoSetup - appveyor-retry appveyor DownloadFile https://s3-us-west-1.amazonaws.com/rust-lang-ci2/rust-ci-mirror/2017-08-22-is.exe - 2017-08-22-is.exe /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP- - set PATH="C:\Program Files (x86)\Inno Setup 5";%PATH% # uncomment to RDP to appveyor # - ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1')) build_script: - git submodule update --init - cargo build --release --verbose # Cache wapm cli target in dir above to prevent breaking git submodule on windows - if not exist wapm-cli-target mkdir wapm-cli-target - move wapm-cli-target wapm-cli - cd wapm-cli - rename wapm-cli-target target - cd .. - cargo build --release --manifest-path wapm-cli/Cargo.toml --features telemetry - cd wapm-cli - cd .. - xcopy wapm-cli\target wapm-cli-target\ /i /y - cargo build --release --manifest-path lib/runtime-c-api/Cargo.toml test_script: - cargo test --manifest-path lib/spectests/Cargo.toml --features clif before_deploy: - cd ./src/installer - iscc wasmer.iss - copy /y .\WasmerInstaller.exe ..\..\WasmerInstaller-%APPVEYOR_REPO_TAG_NAME%.exe - appveyor PushArtifact ..\..\WasmerInstaller-%APPVEYOR_REPO_TAG_NAME%.exe - cd ..\..\ matrix: fast_finish: true deploy: description: 'WasmerInstaller' artifact: /.*\.exe/ auth_token: secure: BbreGNDJy20922za7OhJG5TERzfX+dJSBQwttNTJkLvszbqMov6hhAtRb3P45hpf provider: GitHub on: branch: master appveyor_repo_tag: true