commands:
make: !Command
description: Build the library and binaries
container: ubuntu
run: [cargo, build]
make-musl: !Command
description: Build the musl-libc binary
container: ubuntu
run:
- cargo
- build
- --target=x86_64-unknown-linux-musl
cargo: !Command
description: Run arbitrary cargo command
container: ubuntu
run: [cargo]
_test-no-features: !Command
description: Run tests
container: ubuntu
run: [cargo, test, --no-default-features]
test: !Command
description: Run tests
container: ubuntu
prerequisites: [_test-no-features]
run: [cargo, test]
gen-test-data: !Command
description: Generate index files used in benchmarks
container: rust-nightly
run: |
set -ex
cd /work
if [ ! -f ubuntu-base-16.04.2-base-amd64.tar.gz ]; then
wget http://cdimage.ubuntu.com/ubuntu-base/releases/16.04/release/ubuntu-base-16.04.2-base-amd64.tar.gz \
-O ubuntu-base-16.04.2-base-amd64.tar.gz
fi
rm -rf ubuntu-xenial
mkdir -p ubuntu-xenial
tar -xzf ubuntu-base-16.04.2-base-amd64.tar.gz --exclude "dev/*" -C ubuntu-xenial
export HOME=/work/target
cargo build --release
/work/target/release/index --write-index benches/ubuntu-xenial.v1.idx /work/ubuntu-xenial
rm ubuntu-base-16.04.2-base-amd64.tar.gz
rm -r ubuntu-xenial
bench: !Command
description: Run benchmarks
container: rust-nightly
run: [cargo, bench]
_bulk: !Command
description: Run `bulk` command (for version bookkeeping)
container: ubuntu
run: [bulk]
containers:
ubuntu:
setup:
- !Ubuntu xenial
- !UbuntuUniverse
- !Install [ca-certificates, git, build-essential, vim, musl-tools]
- !TarInstall
url: "https://static.rust-lang.org/dist/rust-1.25.0-x86_64-unknown-linux-gnu.tar.gz"
script: "./install.sh --prefix=/usr \
--components=rustc,rust-std-x86_64-unknown-linux-gnu,cargo"
- !TarInstall
url: "https://static.rust-lang.org/dist/rust-std-1.25.0-x86_64-unknown-linux-musl.tar.gz"
script: "./install.sh --prefix=/musl \
--components=rust-std-x86_64-unknown-linux-musl"
- !Sh 'ln -s /musl/lib/rustlib/x86_64-unknown-linux-musl /usr/lib/rustlib/x86_64-unknown-linux-musl'
- &bulk !Tar
url: "https://github.com/tailhook/bulk/releases/download/v0.4.9/bulk-v0.4.9.tar.gz"
sha256: 23471a9986274bb4b7098c03e2eb7e1204171869b72c45385fcee1c64db2d111
path: /
environ:
LD_LIBRARY_PATH: /musl/lib/rustlib/x86_64-unknown-linux-musl/lib
HOME: /work/target
RUST_BACKTRACE: 1
rust-nightly:
environ:
HOME: /work/target
RUST_BACKTRACE: 1
setup:
- !Ubuntu xenial
- !Install [ca-certificates, wget, build-essential]
- !TarInstall
url: https://static.rust-lang.org/dist/rust-nightly-x86_64-unknown-linux-gnu.tar.gz
script: |
./install.sh --prefix=/usr \
--components=rustc,rust-std-x86_64-unknown-linux-gnu,cargo