-
Notifications
You must be signed in to change notification settings - Fork 14
/
Copy path.travis.yml
85 lines (75 loc) · 1.72 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
language: rust
rust:
- nightly
dist: xenial
cache:
apt: true
cargo: true
timeout: 1000 #In seconds
directories:
- $TRAVIS_BUILD_DIR/riscv
git:
submodules: false
depth: 1
env:
- RISCV=$TRAVIS_BUILD_DIR/riscv PATH=$PATH:$RISCV/bin
addons:
apt:
sources:
- sourceline: 'deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-9 main'
key_url: https://apt.llvm.org/llvm-snapshot.gpg.key
packages:
- autoconf
- automake
- autotools-dev
- build-essential
- gcc
- git
- llvm-9
branches:
only:
- keystone
- sm_rs
before_install:
- rustup target add riscv64gc-unknown-none-elf
- rustup component add rust-src
- cargo install cargo-xbuild || true
- ./.fast-setup.sh
jobs:
include:
- stage: build everything (C)
script:
- mkdir build
- cd build
- ../configure
--enable-logo
--host=riscv64-unknown-elf
--enable-sm
- make
- stage: build everything (Rust)
script:
- ln -snf sm_rs sm
- mkdir build
- cd build
- ../configure
--enable-logo
--host=riscv64-unknown-elf
--enable-sm
- make
- stage: test (Rust)
script:
- ln -snf sm_rs sm
- if [ -f riscv/bin/qemu-riscv64 ]; then ls riscv; else ./.build-qemu.sh; fi
- ./test-sm.sh
- stage: test (C)
script:
- if [ -f riscv/bin/qemu-riscv64 ]; then ls riscv; else ./.build-qemu.sh; fi
- mkdir build
- cd build
- ../configure
- cd ../sm/tests
- mkdir build
- cd build
- cmake ..; make
- make test CTEST_OUTPUT_ON_FAILURE=TRUE ARGS="--verbose"
- cd $TRAVIS_BUILD_DIR