jemallocator/.travis.yml

149 lines
5.8 KiB
YAML

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 bench
- cargo bench --features=alloc_trait
- 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