language: rust
cache: cargo
branches:
only:
- master
stages:
- test
- coverage
jobs:
include:
- name: "Windows build"
os: windows
rust: stable
script:
- cargo build --verbose
- cargo test --verbose
- name: "macOS build"
os: osx
rust: stable
script:
- cargo build --verbose
- cargo test --verbose
- name: "Ubuntu build"
os: linux
dist: trusty
rust: stable
script:
- cargo build --verbose
- cargo test --verbose
- name: "Code coverage"
stage: coverage
os: linux
sudo: true
dist: trusty
addons:
apt:
packages:
- libssl-dev
rust: nightly
before_cache: RUSTFLAGS="--cfg procmacro2_semver_exempt" cargo install cargo-tarpaulin -f
script: true
after_success:
- cargo tarpaulin --out Xml
- bash <(curl -s https://codecov.io/bash)