91 lines
2.9 KiB
YAML
91 lines
2.9 KiB
YAML
language: rust
|
|
rust: nightly
|
|
services: docker
|
|
|
|
jobs:
|
|
include:
|
|
# Linux
|
|
- name: "aarch64-unknown-linux-gnu"
|
|
env: TARGET=aarch64-unknown-linux-gnu NO_JEMALLOC_TESTS=1
|
|
arch: arm64
|
|
- name: "powerpc64le-unknown-linux-gnu"
|
|
env: TARGET=powerpc64le-unknown-linux-gnu NO_JEMALLOC_TESTS=1
|
|
arch: ppc64le
|
|
- name: "x86_64-unknown-linux-gnu (nightly)"
|
|
env: TARGET=x86_64-unknown-linux-gnu VALGRIND=1
|
|
install: rustup component add llvm-tools-preview
|
|
addons: &valgrind
|
|
apt:
|
|
packages:
|
|
- 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
|
|
# FIXME: Re-enable this when allocator API is stable.
|
|
# - 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
|
|
install: rustup target add x86_64-unknown-linux-musl
|
|
addons:
|
|
apt:
|
|
packages:
|
|
musl-tools
|
|
|
|
# OSX
|
|
# FIXME: cannot jemalloc tests fail due to:
|
|
# https://github.com/jemalloc/jemalloc/issues/1320
|
|
# https://github.com/gnzlbg/jemallocator/issues/85
|
|
# 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
|
|
os: osx
|
|
osx_image: xcode10
|
|
install: rustup component add llvm-tools-preview
|
|
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
|
|
- 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 tikv-jemalloc-sys -- -D clippy::all
|
|
cargo clippy -p tikv-jemallocator -- -D clippy::all
|
|
cargo clippy -p tikv-jemallocator-global -- -D clippy::all
|
|
cargo clippy -p tikv-jemalloc-ctl -- -D clippy::all
|
|
fi
|
|
- name: "Shellcheck"
|
|
install: true
|
|
script: shellcheck ci/*.sh
|
|
|
|
install: rustup target add ${TARGET}
|
|
script: sh ci/run.sh
|
|
notifications:
|
|
email:
|
|
on_success: never
|