blob: 4d7dd2106183af65409a563b4be47f6c324ce177 [file] [log] [blame]
language: rust
addons:
apt:
packages:
- libev-dev
- protobuf-compiler
- uthash-dev
matrix:
include:
- rust: stable
before_install:
# Install and use the current stable release of Go
- gimme --list
- eval "$(gimme stable)"
- gimme --list
install:
- rustup component add clippy
script:
- RUSTFLAGS="-D warnings" cargo build --release --verbose
- RUSTFLAGS="-D warnings" cargo test --verbose
- RUSTFLAGS="-D warnings" cargo package --verbose --allow-dirty
- cargo clippy --examples -- -D warnings
- cargo doc --no-deps
- make -C examples
# http3_test
- RUSTFLAGS="-D warnings" cargo test --no-run --verbose --manifest-path tools/http3_test/Cargo.toml
- cargo clippy --manifest-path tools/http3_test/Cargo.toml -- -D warnings
# quic-trace-log
- RUSTFLAGS="-D warnings" cargo build --release --verbose --manifest-path tools/quic-trace-log/Cargo.toml
- cargo clippy --manifest-path tools/quic-trace-log/Cargo.toml -- -D warnings
- rust: nightly
before_install:
# Install and use the current stable release of Go
- gimme --list
- eval "$(gimme stable)"
- gimme --list
install:
- rustup component add rustfmt
- cargo install cargo-fuzz
script:
- RUSTFLAGS="-D warnings" cargo build --release --verbose
- RUSTFLAGS="-D warnings" cargo test --verbose
- RUSTFLAGS="-D warnings" cargo package --verbose --allow-dirty
- cargo fmt -- --check
- cargo doc --no-deps
- make -C examples
# fuzzers
- RUSTFLAGS="-D warnings" cargo fuzz run packet_recv_client -- -runs=1
- RUSTFLAGS="-D warnings" cargo fuzz run packet_recv_server -- -runs=1
- RUSTFLAGS="-D warnings" cargo fuzz run qpack_decode -- -runs=1
- cargo fmt --manifest-path fuzz/Cargo.toml -- --check
# http3_test
- RUSTFLAGS="-D warnings" cargo test --no-run --verbose --manifest-path tools/http3_test/Cargo.toml
- cargo fmt --manifest-path tools/http3_test/Cargo.toml -- --check
# quic-trace-log
- RUSTFLAGS="-D warnings" cargo build --release --verbose --manifest-path tools/quic-trace-log/Cargo.toml
- cargo fmt --manifest-path tools/quic-trace-log/Cargo.toml -- --check
- rust: stable
os: osx
script:
- RUSTFLAGS="-D warnings" cargo build --release --verbose
- RUSTFLAGS="-D warnings" cargo test --verbose
- rust: stable
os: osx
osx_image: xcode11.2
install:
- rustup target add aarch64-apple-ios x86_64-apple-ios
- cargo install cargo-lipo
script:
- RUSTFLAGS="-D warnings" cargo lipo --release --verbose
- rust: stable
os: windows
before_install:
- choco install golang nasm
# Update $PATH
- export PATH="$(powershell -Command '("Process", "Machine" | % { [Environment]::GetEnvironmentVariable("PATH", $_) -Split ";" -Replace "\\$", "" } | Select -Unique | % { cygpath $_ }) -Join ":"')"
script:
- RUSTFLAGS="-D warnings" cargo build --release --verbose
- RUSTFLAGS="-D warnings" cargo test --verbose
deploy:
provider: pages
fqdn: docs.quic.tech
local-dir: target/doc
skip-cleanup: true
github-token: $GITHUB_TOKEN
on:
branch: master
condition: $TRAVIS_RUST_VERSION = stable && $TRAVIS_OS_NAME = linux