68 lines
2.7 KiB
YAML
68 lines
2.7 KiB
YAML
language: rust
|
|
matrix:
|
|
include:
|
|
### Litmus check that we work on stable/beta
|
|
# (we don't, not until slice_rotate lands)
|
|
# - rust: stable
|
|
# env: FEATURES='default' MODE='test'
|
|
# - rust: beta
|
|
# env: FEATURES='default' MODE='test'
|
|
### Test default configurations
|
|
- rust: nightly
|
|
env: FEATURES='default' MODE='test'
|
|
### Test select feature permutations, chosen to be as orthogonal as possible
|
|
- rust: nightly
|
|
env: FEATURES='std phy-raw_socket proto-ipv6 socket-udp' MODE='test'
|
|
- rust: nightly
|
|
env: FEATURES='std phy-tap_interface proto-ipv6 socket-udp' MODE='test'
|
|
- rust: nightly
|
|
env: FEATURES='std proto-ipv4 proto-igmp socket-raw' MODE='test'
|
|
- rust: nightly
|
|
env: FEATURES='std proto-ipv4 socket-udp socket-tcp' MODE='test'
|
|
- rust: nightly
|
|
env: FEATURES='std proto-ipv4 proto-dhcpv4 socket-udp' MODE='test'
|
|
- rust: nightly
|
|
env: FEATURES='std proto-ipv6 socket-udp' MODE='test'
|
|
- rust: nightly
|
|
env: FEATURES='std proto-ipv6 socket-tcp' MODE='test'
|
|
- rust: nightly
|
|
env: FEATURES='std proto-ipv4 socket-icmp socket-tcp' MODE='test'
|
|
- rust: nightly
|
|
env: FEATURES='std proto-ipv6 socket-icmp socket-tcp' MODE='test'
|
|
### Test select feature permutations, chosen to be as aggressive as possible
|
|
- rust: nightly
|
|
env: FEATURES='proto-ipv4 proto-ipv6 socket-raw socket-udp socket-tcp socket-icmp std'
|
|
MODE='test'
|
|
- rust: nightly
|
|
env: FEATURES='proto-ipv4 proto-ipv6 socket-raw socket-udp socket-tcp socket-icmp alloc'
|
|
MODE='test'
|
|
- rust: nightly
|
|
env: FEATURES='proto-ipv4 proto-ipv6 proto-igmp proto-dhcpv4 socket-raw socket-udp socket-tcp socket-icmp'
|
|
MODE='build'
|
|
- rust: nightly
|
|
env: MODE='fuzz run' ARGS='packet_parser -- -max_len=1536 -max_total_time=30'
|
|
- rust: nightly
|
|
env: FEATURES='default' MODE='clippy'
|
|
- os: osx
|
|
rust: nightly
|
|
env: FEATURES='default' MODE='build'
|
|
allow_failures:
|
|
# something's screwy with Travis (as usual) and cargo-fuzz dies with a LeakSanitizer error
|
|
# even when it's successful. Keep this in .travis.yml in case it starts working some day.
|
|
- rust: nightly
|
|
env: MODE='fuzz run' ARGS='packet_parser -- -max_len=1536 -max_total_time=30'
|
|
# Clippy sometimes fails to compile and this shouldn't gate merges
|
|
- rust: nightly
|
|
env: FEATURES='default' MODE='clippy'
|
|
before_script:
|
|
- if [ "$MODE" == "fuzz run" ]; then cargo install cargo-fuzz; fi
|
|
- if [ "$MODE" == "clippy" ]; then cargo install clippy; fi
|
|
script:
|
|
- cargo $MODE --no-default-features --features "$FEATURES" $ARGS
|
|
notifications:
|
|
irc:
|
|
channels:
|
|
- "chat.freenode.net#m-labs"
|
|
use_notice: true
|
|
skip_join: true
|