blob: cec6ddb6f4419e6b4c193097095e77ec719eb084 [file] [log] [blame]
Joel Galenson006226b2020-10-23 08:06:44 -07001language: rust
2rust: stable
3dist: xenial
4sudo: false
5notifications:
6 email: disabled
7
8cache: cargo
9
10install:
11 - if [ -z "$NO_ADD" ]; then rustup target add "$TARGET"; fi
12
13script:
14 - cargo build --verbose --target "$TARGET"
15 # Only run the targets if we are on the same OS.
16 - if [ "$RUN" == "1" ]; then cargo test --verbose --target "$TARGET"; fi
17
18env:
19 global:
20 # Travis CI servers make 2 cores available to processes via virtualization.
21 # See https://docs.travis-ci.com/user/reference/overview/
22 - NUM_CPUS_TEST_GET=2
23
24matrix:
25 include:
26 # Linux
27 # Minimum Supported Rust Version
28 - name: Minimum Supported Rust Version
29 env: TARGET=x86_64-unknown-linux-gnu RUN=1 NO_ADD=1
30 rust: 1.13.0
31 # 32-bit requires multilib.
32 - env: TARGET=i686-unknown-linux-gnu RUN=1
33 addons:
34 apt:
35 packages:
36 - gcc-multilib
37 # 64-bit stable.
38 - env: TARGET=x86_64-unknown-linux-gnu RUN=1 NO_ADD=1
39 rust: stable
40 # 64-bit beta.
41 - env: TARGET=x86_64-unknown-linux-gnu RUN=1 NO_ADD=1
42 rust: beta
43 # 64-bit nightly.
44 - env: TARGET=x86_64-unknown-linux-gnu RUN=1 NO_ADD=1
45 rust: nightly
46
47 # Mac OS X
48 - os: osx
49 env: TARGET=x86_64-apple-darwin RUN=1 NO_ADD=1
50 # Android
51 # - for x86
52 - env: TARGET=i686-linux-android
53 - env: TARGET=x86_64-linux-android
54 # - for ARM
55 - env: TARGET=arm-linux-androideabi
56 - env: TARGET=aarch64-linux-android
57 # IOS
58 - os: osx
59 osx_image: xcode9
60 env: TARGET=x86_64-apple-ios
61 # FreeBSD
62 - env: TARGET=x86_64-unknown-freebsd
63 # Fuchsia
64 # FIXME: figure out why target is missing and re-enable
65 #- env: TARGET=x86_64-unknown-fuchsia
66 # NetBSD
67 - env: TARGET=x86_64-unknown-netbsd
68 # Emscripten
69 - env: TARGET=asmjs-unknown-emscripten
70
71 # CGroups in Docker
72 - name: Docker CGroups
73 install:
74 script:
75 - docker build -f ci/cgroups/Dockerfile -t num-cpus-cgroups .
76 # Test without cgroups
77 - docker run -it -e NUM_CPUS_TEST_GET=2 num-cpus-cgroups
78 # Only 1 CPU
79 - docker run -it --cpus="1" -e NUM_CPUS_TEST_GET=1 num-cpus-cgroups
80 # 1.5 CPUs
81 - docker run -it --cpus="1.5" -e NUM_CPUS_TEST_GET=2 num-cpus-cgroups