165 lines
6.0 KiB
YAML
165 lines
6.0 KiB
YAML
language: rust
|
|
rust: nightly
|
|
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
|
|
# FIXME: blocked onhttps://github.com/jemalloc/jemalloc/issues/1464
|
|
# - 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 (nightly - jemalloc's dev branch)"
|
|
env: TARGET=x86_64-unknown-linux-gnu VALGRIND=1 JEMALLOC_SYS_GIT_DEV_BRANCH=1
|
|
install: rustup component add llvm-tools-preview
|
|
addons: *valgrind
|
|
- 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/gnzlbg/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/gnzlbg/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 (nightly - jemalloc's dev branch)"
|
|
env: TARGET=x86_64-apple-darwin NO_JEMALLOC_TESTS=1 JEMALLOC_SYS_GIT_DEV_BRANCH=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: true
|
|
script: RUSTDOCFLAGS="--cfg jemallocator_docs" cargo doc
|
|
deploy:
|
|
provider: script
|
|
script: curl -LsSf https://git.io/fhJ8n | rustc - && (cd target/doc && ../../rust_out)
|
|
skip_cleanup: true
|
|
on:
|
|
branch: master
|
|
- name: "rustfmt"
|
|
install: true
|
|
rust: nightly
|
|
script: |
|
|
if rustup component add rustfmt-preview ; then
|
|
cargo fmt --all -- --check
|
|
fi
|
|
- name: "clippy"
|
|
install: true
|
|
rust: nightly
|
|
# allow(clippy::all) fails in the syscrate, so we can't use --all here:
|
|
script: |
|
|
if rustup component add clippy-preview ; then
|
|
cargo clippy -p jemalloc-sys -- -D clippy::pedantic
|
|
cargo clippy -p jemallocator -- -D clippy::pedantic
|
|
cargo clippy -p jemallocator-global -- -D clippy::pedantic
|
|
cargo clippy -p jemalloc-ctl -- -D clippy::pedantic
|
|
fi
|
|
- name: "Shellcheck"
|
|
install: true
|
|
script: shellcheck ci/*.sh
|
|
|
|
install: rustup target add ${TARGET}
|
|
script: sh ci/run.sh
|
|
notifications:
|
|
email:
|
|
on_success: never
|