# Based on the "trust" template v0.1.2 # https://github.com/japaric/trust/tree/v0.1.2 environment: global: # TODO This is the Rust channel that build jobs will use by default but can be # overridden on a case by case basis down below RUST_VERSION: stable # TODO Update this to match the name of your project. CRATE_NAME: wireguard-proxy # gnu fails to compile with any openssl combo for some reason OPENSSL_STATIC: 1 CARGO_FEATURES: openssl_vendored # TODO These are all the build jobs. Adjust as necessary. Comment out what you # don't need matrix: # MinGW - TARGET: i686-pc-windows-gnu CARGO_FEATURES: default - TARGET: x86_64-pc-windows-gnu CARGO_FEATURES: default # MSVC - TARGET: i686-pc-windows-msvc - TARGET: x86_64-pc-windows-msvc # Testing other channels - TARGET: x86_64-pc-windows-gnu CARGO_FEATURES: default RUST_VERSION: nightly - TARGET: x86_64-pc-windows-msvc RUST_VERSION: nightly 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 - rustc -Vv - cargo -V # TODO This is the "test phase", tweak it as you see fit test_script: # we don't run the "test phase" when doing deploys - if [%APPVEYOR_REPO_TAG%]==[false] ( cargo build --target %TARGET% --release --features %CARGO_FEATURES% && cargo run --target %TARGET% --release --features %CARGO_FEATURES% --bin udp-test && cargo run --target %TARGET% --release --features %CARGO_FEATURES% --bin udp-test -- -is ) - if [%CARGO_FEATURES%]==[openssl_vendored] ( cargo run --target %TARGET% --release --features %CARGO_FEATURES% --bin udp-test -- -is --tls-key ci/cert.key --tls-cert ci/cert.pem ) before_deploy: # TODO Update this to build the artifacts that matter to you - cargo rustc --target %TARGET% --release --features %CARGO_FEATURES% --bin wireguard-proxy -- -C lto - ps: ci\before_deploy.ps1 deploy: artifact: /wireguard-proxy-.*\.exe/ # TODO update `auth_token.secure` # - Create a `public_repo` GitHub token. Go to: https://github.com/settings/tokens/new # - Encrypt it. Go to https://ci.appveyor.com/tools/encrypt # - Paste the output down here auth_token: secure: gyQW6TqUY94X8IpcQeezbngBQA/PROaCPpr8K+8IxGBG5gf2iHra2CLlp/QJJZYx description: '' on: # TODO Here you can pick which targets will generate binary releases # In this example, there are some targets that are tested using the stable # and nightly channels. This condition makes sure there is only one release # for such targets and that's generated using the stable channel RUST_VERSION: stable appveyor_repo_tag: true provider: GitHub cache: - C:\Users\appveyor\.cargo\registry - target branches: only: # Release tags - /^v\d+\.\d+\.\d+.*$/ - master - appveyor - ci - openssl notifications: - provider: Email on_build_success: false # Building is done in the test phase, so we disable Appveyor's build phase. build: false