rust-imap/.travis.yml
Jon Gjengset c393fd7162
Add Travis integration testing
This uses [GreenMail's Docker
image](http://www.icegreen.com/greenmail/#deploy_docker_standalone) to
spin up a real SMTP+IMAP server on Travis, and then runs a series of
integration tests against it by sending e-mails using
[`lettre`](https://crates.io/crates/lettre) and checking that we can
receive them correctly.

A start on #101.
2018-11-22 20:56:41 -05:00

37 lines
866 B
YAML

sudo: required
language: rust
# Dependencies of kcov, used by coverage
addons:
apt:
packages:
- libssl-dev
services:
- docker
os:
- linux
- osx
rust:
- stable
- beta
- nightly
matrix:
allow_failures:
- rust: nightly
script:
- cargo check --all-targets
- cargo test
before_install:
- docker pull greenmail/standalone:1.5.8
- docker run -t -i -e GREENMAIL_OPTS='-Dgreenmail.setup.test.all -Dgreenmail.hostname=0.0.0.0 -Dgreenmail.auth.disabled -Dgreenmail.verbose' -p 3025:3025 -p 3110:3110 -p 3143:3143 -p 3465:3465 -p 3993:3993 -p 3995:3995 greenmail/standalone:1.5.8
after_success:
- if [[ "$TRAVIS_OS_NAME" == "linux" && "$TRAVIS_RUST_VERSION" == "stable" ]]; then
bash <(curl https://raw.githubusercontent.com/xd009642/tarpaulin/master/travis-install.sh);
cargo tarpaulin --ciserver travis-ci --coveralls $TRAVIS_JOB_ID;
fi