forked from rust-lang/stdarch
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
133 lines (128 loc) · 5.83 KB
/
.travis.yml
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
language: rust
sudo: false
rust: nightly
matrix:
fast_finish: true
include:
- name: "i586-unknown-linux-gnu"
env: TARGET=i586-unknown-linux-gnu
- name: "i686-unknown-linux-gnu"
env: TARGET=i686-unknown-linux-gnu
- name: "x86_64-unknown-linux-gnu"
env: TARGET=x86_64-unknown-linux-gnu
install: true
- name: "x86_64-unknown-linux-gnu-emulated (runs all assert_instr tests)"
env: TARGET=x86_64-unknown-linux-gnu-emulated STDSIMD_TEST_EVERYTHING=1 RUSTFLAGS="--cfg stdsimd_intel_sde"
install: true
- name: "x86_64-linux-android - no assert_instr"
env: TARGET=x86_64-linux-android STDSIMD_DISABLE_ASSERT_INSTR=1
- name: "arm-unknown-linux-gnueabihf"
env: TARGET=arm-unknown-linux-gnueabihf
- name: "arm-linux-androideabi - no assert_instr"
env: TARGET=arm-linux-androideabi STDSIMD_DISABLE_ASSERT_INSTR=1
- name: "armv7-unknown-linux-gnueabihf - NEON"
env: TARGET=armv7-unknown-linux-gnueabihf RUSTFLAGS="-C target-feature=+neon"
- name: "aarch64-unknown-linux-gnu"
env: TARGET=aarch64-unknown-linux-gnu
- name: "mips-unknown-linux-gnu - build-only"
env: TARGET=mips-unknown-linux-gnu NORUN=1
- name: "mipsel-unknown-linux-musl - build-only"
env: TARGET=mipsel-unknown-linux-musl NORUN=1
- name: "mips64-unknown-linux-gnuabi64 - build-only"
env: TARGET=mips64-unknown-linux-gnuabi64 NORUN=1
- name: "mips64el-unknown-linux-gnuabi64 - build-only"
env: TARGET=mips64el-unknown-linux-gnuabi64 NORUN=1
- name: "aarch64-linux-android - no assert_instr"
env: TARGET=aarch64-linux-android STDSIMD_DISABLE_ASSERT_INSTR=1
- name: "powerpc-unknown-linux-gnu - no assert_instr"
env: TARGET=powerpc-unknown-linux-gnu STDSIMD_DISABLE_ASSERT_INSTR=1
- name: "powerpc64-unknown-linux-gnu - no assert_instr"
env: TARGET=powerpc64-unknown-linux-gnu STDSIMD_DISABLE_ASSERT_INSTR=1
- name: "powerpc64le-unknown-linux-gnu - no assert_instr"
env: TARGET=powerpc64le-unknown-linux-gnu STDSIMD_DISABLE_ASSERT_INSTR=1
- name: "s390x-unknown-linux-gnu"
env: TARGET=s390x-unknown-linux-gnu
- name: "i686-apple-darwin"
env: TARGET=i686-apple-darwin NO_DOCKER=1
os: osx
osx_image: xcode10
- name: "x86_64-apple-darwin"
env: TARGET=x86_64-apple-darwin NO_DOCKER=1
os: osx
osx_image: xcode10
install: true
- name: "wasm32-unknown-unknown"
env: TARGET=wasm32-unknown-unknown
- name: "nvptx64-nvidia-cuda - cross compiled, build libcore only"
env: TARGET=nvptx64-nvidia-cuda NORUN=1 NOSTD=1
- name: "thumbv6m-none-eabi - build libcore only"
env: TARGET=thumbv6m-none-eabi NORUN=1 NOSTD=1 NO_DOCKER=1
- name: "thumbv7m-none-eabi - build libcore only"
env: TARGET=thumbv7m-none-eabi NORUN=1 NOSTD=1 NO_DOCKER=1
- name: "thumbv7em-none-eabi - build libcore only"
env: TARGET=thumbv7em-none-eabi NORUN=1 NOSTD=1 NO_DOCKER=1
- name: "thumbv7em-none-eabihf - build libcore only"
env: TARGET=thumbv7em-none-eabihf NORUN=1 NOSTD=1 NO_DOCKER=1
- name: "Game Boy Advance - build libcore only"
env: NORUN=1 NOSTD=1 NO_DOCKER=1
install:
- rustup component add rust-src
- (test -x $HOME/.cargo/bin/cargo-xbuild || cargo install cargo-xbuild)
script:
# Obtain the devkitPro tools, using `target/` as a temp directory. This
# is required because we need to use their linker. `lld` uses the `BLX`
# instruction, which was not available in thumb state code until ARMv5.
- mkdir -p target
- cd target
- wget https://github.com/devkitPro/pacman/releases/download/devkitpro-pacman-1.0.1/devkitpro-pacman.deb
- sudo dpkg -i devkitpro-pacman.deb
- sudo dkp-pacman -Sy
- sudo dkp-pacman -Syu
- sudo dkp-pacman -S -v --noconfirm gba-tools devkitARM
- export PATH="$PATH:/opt/devkitpro/devkitARM/bin"
- export PATH="$PATH:/opt/devkitpro/tools/bin"
- cd ..
# Pull the target spec up into the current directory and then build
- mv ci/gba.json gba.json
- cargo xbuild -p core_arch --target gba.json
- name: "Documentation"
install: true
script: ci/dox.sh
- name: "Automatic verification: x86 / x86_64 / arm / aarch64 / mips*"
script: cargo test --manifest-path crates/stdsimd-verify/Cargo.toml
install: true
- name: "rustfmt"
install: true
script: |
if rustup component add rustfmt-preview ; then
cargo fmt --all -- --check
fi
rust: stable
- name: "clippy"
install: true
script: |
if rustup component add clippy-preview ; then
cargo clippy --all -- -D clippy::pedantic
fi
- name: "Shellcheck"
install: true
script:
- shellcheck --version
- shellcheck ci/*.sh
allow_failures:
- name: "powerpc-unknown-linux-gnu - no assert_instr"
install: travis_retry rustup target add $TARGET
script:
- cargo generate-lockfile
- |
if [ "${NO_DOCKER}" = "1" ]; then
ci/run.sh $TARGET
else
ci/run-docker.sh $TARGET
fi
notifications:
email:
on_success: never
env:
global:
secure: "jmh7FfVwtPYQN/xPrVYmX7ys70GvX9YsKYtDpp8UwtIihCr81KHi2P2a1/KZNvQN0gPO+nneKieCbNQSCEtxDG9plUoB+OhX8ov9g3ImTJbyt+oW35Vlqq9ftB+Hr/Wn42o4OSTYxRfy1gf9VMePBaJfdkuym3BB75K4s+k+akuVqJv+KAm3zz0wSqU4O/evj2EGz1ldMzqxpogrO2WJQkXyl4xaW/1E0y8IZfRy0bJPKALFUpTDp39ZiWvzjNdr8CXUW1DChJdFPNo7yswxyl/NL5e/meHqF2dzS5b0YyOhcCzlBm7eZoEwyHZWB73t7n5Tuo0uYpX/kBXPAvtDrljQjBNcpm9vJtg6sj3oG0bGAI8pJfNNpLdHLHO6CjmORGP/rzZLeRdEFVb8t7UIXG7l3NcoBpRNiwPFY4gpE5dgiRsKjNrtmNe3GahhsYwbPkc+QUeQFIDtYYRxdJVZj+KvU9jIEpRh5Zv8FZBfsfx0LcLEdtRBjJxFNGGO5NY8nP0OWNVyt4ckRbRMtVzcbcOdzcfUc74/wZYZj8SrfcbSqsfylMQbxLAHJCynvuFmoMf3udPqP3aPuO+4EjDYDIQ1kHwKK87lwqlXFHdhRepAmhRR//g3bDUxzXd96KJqbFU3MYZnn/jzIi0kl+jx3FxivT380cYLVjrD29aGc7M="