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