forked from lkl/linux
-
Notifications
You must be signed in to change notification settings - Fork 19
/
circle.yml
66 lines (60 loc) · 3.33 KB
/
circle.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
general:
artifacts:
## Customize the test machine
machine:
# Add some environment variables
environment:
CROSS_COMPILE: $(case $CIRCLE_NODE_INDEX in 0) host='' ;; 1) host='i686-w64-mingw32-' ;; 2) host='arm-linux-androideabi-' ;; 3) host='aarch64-linux-android-' ;; esac; echo $host)
MKARG: $(case $CIRCLE_NODE_INDEX in 0) mkarg='dpdk=yes' ;; 1) ;; 2) ;; 3) ;; esac; echo $mkarg)
PATH: /home/ubuntu/aarch64-linux-android-5.4-linaro-2016.06/bin:/home/ubuntu/android-toolchain/bin:${PATH}
LKL_TEST_DHCP: 1
LKL_ANDROID_TEST: $(case $CIRCLE_NODE_INDEX in 2) echo 1 ;; 3) echo 1 ;; esac)
## Customize dependencies
dependencies:
pre:
# required for 14.04 container
- sudo dpkg --add-architecture i386
- echo ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true | sudo debconf-set-selections
- wget https://dl.winehq.org/wine-builds/Release.key ; sudo apt-key add Release.key ; sudo apt-add-repository 'https://dl.winehq.org/wine-builds/ubuntu/'
- sudo apt-get update; sudo apt-get install bc libfuse-dev libarchive-dev xfsprogs valgrind gcc-mingw-w64-i686 wine qemu-user-static linux-headers-$(uname -r) ccache
- wget -q --output-document=android-ndk.zip https://dl.google.com/android/repository/android-ndk-r15b-linux-x86_64.zip && unzip android-ndk.zip
- if [ $CIRCLE_NODE_INDEX -eq 2 ] ; then ./android-ndk-r15b/build/tools/make_standalone_toolchain.py --arch arm --api 24 --install-dir /home/ubuntu/android-toolchain ; fi:
parallel: true
- if [ $CIRCLE_NODE_INDEX -eq 3 ] ; then ./android-ndk-r15b/build/tools/make_standalone_toolchain.py --arch arm64 --api 24 --install-dir /home/ubuntu/android-toolchain ; fi:
parallel: true
- sudo cp tools/lkl/bin/i686-w64-mingw32-* /usr/bin:
parallel: true
# for aarch64 instance
- if [ $CIRCLE_NODE_INDEX -eq 3 ] ; then cd $HOME ; wget https://android-git.linaro.org/platform/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-5.4-linaro.git/snapshot/aarch64-linux-android-5.4-linaro-2016.06.tar.gz ; tar xfz aarch64-linux-android-5.4-linaro-2016.06.tar.gz ; cd aarch64-linux-android-5.4-linaro-2016.06 ; ln -s /home/ubuntu/android-toolchain/sysroot ; fi:
parallel: true
- git fetch --tags git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
override:
- mkdir -p ~/.ccache
- cd tools/lkl && make clean:
parallel: true
- cd tools/lkl && ./scripts/dpdk-sdk-build.sh:
parallel: true
- cd tools/lkl && make -j8 ${MKARG}:
parallel: true
cache_directories:
- "~/.ccache"
test:
pre:
- tools/lkl/scripts/checkpatch.sh
override:
- if [ $CIRCLE_NODE_INDEX -eq 2 -o $CIRCLE_NODE_INDEX -eq 3 ] ; then emulator -avd circleci-android24 -no-window ; fi:
background: true
parallel: true
- if [ $CIRCLE_NODE_INDEX -eq 2 -o $CIRCLE_NODE_INDEX -eq 3 ] ; then circle-android wait-for-boot ; fi:
parallel: true
# can't exec qemu-aarch64 emulator on circleci ...
- if [ $CIRCLE_NODE_INDEX -ne 3 ] ; then cd tools/lkl && make test ; fi:
parallel: true
- ? >
if [ -n "${RUN_NIGHTLY_BUILD}" ]; then
cd tools/lkl && make valgrind;
fi
: timeout: 1800 # timeout to 30mins
post:
- mkdir -p $CIRCLE_TEST_REPORTS/junit/
- find ./tools/lkl/ -type f -name "*.xml" -exec cp {} $CIRCLE_TEST_REPORTS/ \;