File: script.sh

package info (click to toggle)
rust-primal 0.3.3-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 304 kB
  • sloc: sh: 33; makefile: 2
file content (43 lines) | stat: -rwxr-xr-x 1,482 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#!/usr/bin/env bash
set -ex

cargo=cargo
target_param=""
features=" "
if rustc -V | grep -qF 'nightly' ; then
    features+=" unstable"
fi
if rustc -V | grep -qF 'rustc 1.36' ; then
    cp ./ci/compat-Cargo.lock ./Cargo.lock
fi
if [ ! -z "$TARGET" ]; then
    rustup target add "$TARGET"
    cargo install -v cross --force
    cargo="cross"
    target_param="--target $TARGET"
fi

$cargo build -v --all $target_param --features "$features"
$cargo test -v --all $target_param --features "$features"
$cargo bench -v --all $target_param --features "$features" -- --test # don't actually record numbers
$cargo doc -v --all $target_param --features "$features"

$cargo test -v -p primal-sieve --features "$features primal-sieve/safe"

$cargo test -v --all --release --features "$features primal-sieve/slow_tests primal-slowsieve/slow_tests"

if [ ! -z "$COVERAGE" ]; then
    if [ ! -z "$TARGET" ]; then
        echo "cannot record coverage while cross compiling"
        exit 1
    fi

    # Rust 1.41 changed the default lock format, which cargo-travis doesn't understand.
    # https://github.com/roblabla/cargo-travis/issues/66
    rustup install --profile minimal 1.40.0
    cargo +1.40.0 generate-lockfile

    cargo install -v cargo-travis || echo "cargo-travis already installed"
    cargo coverage -v --all -m coverage-reports --kcov-build-location "$PWD/target" --features "$features"
    bash <(curl -s https://codecov.io/bash) -c -X gcov -X coveragepy -s coverage-reports
fi