7 # Define the required packages without nss/nspr so we can do a
8 # build without nss/nspr
9 packages-without-nssnspr: &packages-without-nssnspr
27 - libnetfilter-queue-dev
34 - libevent-pthreads-2.0-5
35 # Define the required packages without libjansson so we can do a
36 # build without libjansson.
37 packages-without-jansson: &packages-without-jansson
56 - libnetfilter-queue-dev
62 - libevent-pthreads-2.0-5
63 # Now define the default set of packages which is those above, and
66 - *packages-without-jansson
71 - /home/travis/.rustup
73 - /home/travis/.multirust
75 # Define the default CFLAGS used by all builds as a YAML anchor.
76 default-cflags: &default-cflags
77 CFLAGS="-Wall -Wextra -Werror -Wno-unused-parameter -Wno-unused-function"
81 # The version of Rust that will be used if not otherwise set.
82 - RUST_VERSION="stable"
83 # The minimum version of Rust supported.
84 - RUST_VERSION_MIN="1.34.2"
85 # A known recent working version of stable Rust
86 - RUST_VERSION_KNOWN="1.37.0"
90 # Allow the rust-stable build to fail. These entries must match
91 # the env entry in the build matrix exactly.
93 - NAME="linux,gcc,rust-stable"
95 - RUST_VERSION="stable"
96 - ARGS="--enable-rust-strict"
97 - DO_CHECK_SETUP_SCRIPTS="yes"
100 # Linux, gcc, Rust (latest stable).
101 # This is allowed to fail, update allow_failures if the env changes.
105 - NAME="linux,gcc,rust-stable"
107 - RUST_VERSION="stable"
108 - ARGS="--enable-rust-strict"
109 - DO_CHECK_SETUP_SCRIPTS="yes"
111 # Linux, gcc, Rust (auto detect).
112 # - Use latest known working version of Rust.
116 - NAME="linux,gcc,rust-${RUST_VERSION_KNOWN}"
118 - RUST_VERSION="${RUST_VERSION_KNOWN}"
119 - ARGS="--enable-rust-strict"
121 # Linux, gcc, Rust (oldest supported)
125 - NAME="linux,gcc,rust-${RUST_VERSION_MIN}"
127 - RUST_VERSION="${RUST_VERSION_MIN}"
128 - ARGS="--enable-rust-strict"
130 # Linux, gcc, -DNDEBUG.
134 - NAME="linux,gcc,ndebug"
136 - EXTRA_CFLAGS="-DNDEBUG"
137 # Linux, clang. For this build we'll also enable -Wshadow.
143 - EXTRA_CFLAGS="-Wshadow"
144 # Linux, gcc, profiling.
148 - NAME="linux,gcc,profiling"
150 - ARGS="--enable-profiling"
155 - NAME="linux,gcc,debug"
157 - ARGS="--enable-debug"
159 # Linux, gcc, debug-validate.
163 - NAME="linux,gcc,debug-validate"
165 - ARGS="--enable-debug-validation"
167 # Linux, gcc, no jansson.
171 - NAME="linux,gcc,no-jansson"
173 - CONFIGURE_SHOULD_FAIL="yes"
177 - *packages-without-jansson
178 # Too old version of Rust.
182 - NAME="Unsupported Rust version"
183 - RUST_VERSION="1.32.0"
184 - CONFIGURE_SHOULD_FAIL="yes"
185 # Linux, gcc, no nss/nspr.
189 - NAME="linux,gcc,no-nssnspr"
191 - ARGS="--disable-nss --disable-nspr"
195 - *packages-without-nssnspr
197 script: ./qa/travis.sh
200 - export PATH=$HOME/.cargo/bin:$PATH
202 # Install the desired Rust toolchain with rustup.
203 curl https://sh.rustup.rs -sSf | \
204 sh -s -- -y --default-toolchain "${RUST_VERSION}"
205 # Set the default, in case a cached version was used that doesn't
206 # match the requested version.
207 rustup default "${RUST_VERSION}"
210 cargo install --force --debug --version 0.14.1 cbindgen
211 - ./qa/travis-libhtp.sh