language: rust rust: nightly sudo: false services: docker matrix: include: # Linux - name: "aarch64-unknown-linux-gnu" env: TARGET=aarch64-unknown-linux-gnu NO_JEMALLOC_TESTS=1 - name: "arm-unknown-linux-gnueabi" env: TARGET=arm-unknown-linux-gnueabi NO_JEMALLOC_TESTS=1 - name: "armv7-unknown-linux-gnueabihf" env: TARGET=armv7-unknown-linux-gnueabihf NO_JEMALLOC_TESTS=1 - name: "i586-unknown-linux-gnu" env: TARGET=i586-unknown-linux-gnu addons: &gcc_multilib apt: packages: - gcc-multilib - name: "i686-unknown-linux-gnu (nightly)" env: TARGET=i686-unknown-linux-gnu addons: *gcc_multilib - name: "i686-unknown-linux-gnu (beta)" env: TARGET=i686-unknown-linux-gnu addons: *gcc_multilib rust: beta - name: "i686-unknown-linux-gnu (stable)" env: TARGET=i686-unknown-linux-gnu addons: *gcc_multilib rust: stable - name: "i686-unknown-linux-musl" env: TARGET=i686-unknown-linux-musl NOBGT=1 NO_JEMALLOC_TESTS=1 - name: "mips-unknown-linux-gnu" env: TARGET=mips-unknown-linux-gnu NO_JEMALLOC_TESTS=1 - name: "mips64-unknown-linux-gnuabi64" env: TARGET=mips64-unknown-linux-gnuabi64 NO_JEMALLOC_TESTS=1 - name: "mips64el-unknown-linux-gnuabi64" env: TARGET=mips64el-unknown-linux-gnuabi64 NO_JEMALLOC_TESTS=1 - name: "mipsel-unknown-linux-gnu" env: TARGET=mipsel-unknown-linux-gnu NO_JEMALLOC_TESTS=1 - name: "powerpc-unknown-linux-gnu" env: TARGET=powerpc-unknown-linux-gnu NO_JEMALLOC_TESTS=1 - name: "powerpc64-unknown-linux-gnu" env: TARGET=powerpc64-unknown-linux-gnu NO_JEMALLOC_TESTS=1 - name: "powerpc64le-unknown-linux-gnu" env: TARGET=powerpc64le-unknown-linux-gnu NO_JEMALLOC_TESTS=1 - name: "x86_64-unknown-linux-gnu (nightly)" env: TARGET=x86_64-unknown-linux-gnu VALGRIND=1 JEMALLOC_SYS_VERIFY_CONFIGURE=1 install: rustup component add llvm-tools-preview addons: &valgrind apt: packages: - valgrind - autoconf - name: "x86_64-unknown-linux-gnu (beta)" env: TARGET=x86_64-unknown-linux-gnu VALGRIND=1 rust: beta install: rustup component add llvm-tools-preview addons: *valgrind - name: "x86_64-unknown-linux-gnu (stable)" env: TARGET=x86_64-unknown-linux-gnu VALGRIND=1 rust: stable install: rustup component add llvm-tools-preview addons: *valgrind - name: "Benchmarks using x86_64-unknown-linux-gnu (nightly)" env: TARGET=x86_64-unknown-linux-gnu install: true script: - cargo test --bench roundtrip - cargo test --features=alloc_trait --bench roundtrip - name: "x86_64-unknown-linux-musl" env: TARGET=x86_64-unknown-linux-musl NOBGT=1 NO_JEMALLOC_TESTS=1 # Android - name: "aarch64-linux-android" env: TARGET=aarch64-linux-android NO_JEMALLOC_TESTS=1 - name: "x86_64-linux-android" env: TARGET=x86_64-linux-android # OSX # FIXME: cannot jemalloc tests fail due to: # https://github.com/jemalloc/jemalloc/issues/1320 # https://github.com/alexcrichton/jemallocator/issues/85 - name: "i686-apple-darwin (nightly)" env: TARGET=i686-apple-darwin NO_JEMALLOC_TESTS=1 os: osx osx_image: xcode10 - name: "i686-apple-darwin (beta)" env: TARGET=i686-apple-darwin NO_JEMALLOC_TESTS=1 os: osx osx_image: xcode10 rust: beta - name: "i686-apple-darwin (stable)" env: TARGET=i686-apple-darwin NO_JEMALLOC_TESTS=1 os: osx osx_image: xcode10 rust: stable # FIXME: valgrind fails on OSX # https://github.com/alexcrichton/jemallocator/issues/86 - name: "x86_64-apple-darwin (nightly)" env: TARGET=x86_64-apple-darwin NO_JEMALLOC_TESTS=1 JEMALLOC_SYS_VERIFY_CONFIGURE=1 os: osx osx_image: xcode10 install: rustup component add llvm-tools-preview - name: "x86_64-apple-darwin (beta)" env: TARGET=x86_64-apple-darwin NO_JEMALLOC_TESTS=1 os: osx osx_image: xcode10 rust: beta install: rustup component add llvm-tools-preview - name: "x86_64-apple-darwin (stable)" env: TARGET=x86_64-apple-darwin NO_JEMALLOC_TESTS=1 os: osx osx_image: xcode10 rust: stable install: rustup component add llvm-tools-preview # TOOLING - name: "Documentation" install: pip install 'travis-cargo<0.2' --user && export PATH=$HOME/.local/bin:$PATH script: RUSTDOCFLAGS="--cfg jemallocator_docs" cargo doc after_success: travis-cargo --only nightly doc-upload - name: "rustfmt" install: true rust: nightly before_script: rustup component add rustfmt-preview script: cargo fmt --all -- --check - name: "clippy" install: true rust: nightly script: | if rustup component add clippy-preview; then cargo clippy -p jemalloc-sys -- -D clippy::pedantic cargo clippy -p jemallocator -- -D clippy::pedantic fi - name: "Shellcheck" install: true script: shellcheck ci/*.sh install: rustup target add ${TARGET} script: sh ci/run.sh env: global: - secure: "2Z1z4ir++XEQb9eegYTMolsNfTo1aATric2k4KfvRgnG1nAvvccf1Jg0828PVeqqD6w5f+X52AVT4bTDXbSL5L+/cTiBuVmY3943nyNOgHxFBTbVlnLtGnh18bb7AQAhyH1L9KjiLptMtFUfIg3TQ9r0QS+cBEJMFiE8BuuQMq/uPZYF3QMuV8W+9AwnqZPgdZV4q7LRnx2gHyVKifRfa4v0TxJA+fY5euON8CKemw12yVTZyNS5WUq6GLvQa5KsSYOSAIYizxz8Mze8plQytc6VhF3OuFyJ72u5LAx+szyxIu8zNAkyNeUqI1/V1gnlhWbZfov6KV56qoV9U8+xKp1J/nCXdabHEO/saOgWk4XgSSc7JNsT1PMPKT18r7JwNha0DS2onWBbegYMV0YXyH/WVAM+oXvhZAj7WPz5bHRbgkatGmBZD2jOjRQxzSugJsZzsmrKbWm8lIoyJGdNxTn5CisYElZvP1CV1OFaQBkaLfmnlpbJ0NQXpQdnpgXuLvI7sXptyn0Bjt41JQclB2BU98SrEiR0hPlkh8m4fH/QpQ8WdXEtvKXTX8UtG5RPW0UvTZVZtrU4Weyu2Hctj2D/hkXywtBXp7mUhB21fBGiaEc+vh6Q2OrZPrwoAj3YWfLlNBjFmfKmUwXXLno4FLLUujFmmypgs4Qit5HtzwQ=" notifications: email: on_success: never