Skip to content

Commit cbc4ba3

Browse files
Qiang GuWayne Ren
Qiang Gu
authored and
Wayne Ren
committed
travis: add travis script for automation
1 parent bf39312 commit cbc4ba3

File tree

4 files changed

+169
-0
lines changed

4 files changed

+169
-0
lines changed

.travis.yml

+40
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
language: generic
2+
3+
sudo: required
4+
dist: trusty
5+
6+
before_install:
7+
- .travis/before_install.sh
8+
9+
script:
10+
- .travis/script.sh
11+
12+
matrix:
13+
include:
14+
- env: TOOLCHAIN="gnu" BOARD="emsk" BD_VER="11" CUR_CORE="arcem4"
15+
os: linux
16+
compiler: gcc
17+
- env: TOOLCHAIN="gnu" BOARD="emsk" BD_VER="11" CUR_CORE="arcem6"
18+
os: linux
19+
compiler: gcc
20+
- env: TOOLCHAIN="gnu" BOARD="emsk" BD_VER="22" CUR_CORE="arcem7d"
21+
os: linux
22+
compiler: gcc
23+
- env: TOOLCHAIN="gnu" BOARD="emsk" BD_VER="22" CUR_CORE="arcem9d"
24+
os: linux
25+
compiler: gcc
26+
- env: TOOLCHAIN="gnu" BOARD="emsk" BD_VER="22" CUR_CORE="arcem11d"
27+
os: linux
28+
compiler: gcc
29+
- env: TOOLCHAIN="gnu" BOARD="emsk" BD_VER="23" CUR_CORE="arcem7d"
30+
os: linux
31+
compiler: gcc
32+
- env: TOOLCHAIN="gnu" BOARD="emsk" BD_VER="23" CUR_CORE="arcem9d"
33+
os: linux
34+
compiler: gcc
35+
- env: TOOLCHAIN="gnu" BOARD="emsk" BD_VER="23" CUR_CORE="arcem11d"
36+
os: linux
37+
compiler: gcc
38+
- env: TOOLCHAIN="gnu" BOARD="hsdk" BD_VER="10" CUR_CORE="archs38_c0"
39+
os: linux
40+
compiler: gcc

.travis/before_install.sh

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
#!/bin/sh
2+
3+
die() {
4+
echo " *** ERROR: " $*
5+
exit 1
6+
}
7+
8+
set -x
9+
10+
cd /tmp || die
11+
12+
[ $TRAVIS_OS_NAME != linux ] || {
13+
sudo apt-get update || die
14+
sudo apt-get install lib32z1 || die
15+
sudo apt-get install dos2unix || die
16+
wget https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases/download/arc-2017.09-release/arc_gnu_2017.09_prebuilt_elf32_le_linux_install.tar.gz || die
17+
tar xzf arc_gnu_2017.09_prebuilt_elf32_le_linux_install.tar.gz || die
18+
export PATH=/tmp/arc_gnu_2017.09_prebuilt_elf32_le_linux_install/bin:$PATH || die
19+
arc-elf32-gcc --version || die
20+
}

.travis/build.py

+58
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
#! /usr/bin/env python
2+
import json
3+
import os
4+
import sys
5+
6+
example = {"arc_feature_cache":"baremetal/arc_feature/cache",
7+
"arc_feature_timer_interrupt":"baremetal/arc_feature/timer_interrupt",
8+
"arc_feature_udma":"baremetal/arc_feature/udma",
9+
"ble_hm1x":"baremetal/ble_hm1x",
10+
"blinky":"baremetal/blinky",
11+
"cxx":"baremetal/cxx",
12+
"graphic_u8glib":"baremetal/graphic_u8glib",
13+
"kernel":"freertos/kernel"
14+
}
15+
'''
16+
"bootloader":"baremetal/bootloader",
17+
"dma_spiflash":"baremetal/dma_spiflash",
18+
"openthread_cli":"baremetal/openthread/cli",
19+
"openthread_ncp":"baremetal/openthread/ncp",
20+
"iot_coap_coap_server":"freertos/iot/coap/coap_server",
21+
"iot_lwm2m_lwm2m_client":"freertos/iot/lwm2m/lwm2m_client",
22+
"iot_lwm2m_lwm2m_server":"freertos/iot/lwm2m/lwm2m_server",
23+
"kernel_secure":"freertos/kernel_secure",
24+
"net_httpserver":"freertos/net/httpserver"
25+
"net_ntshell":"freertos/net/ntshell",
26+
"secureshield_secret_normal":"baremetal/secureshield/secret_normal",
27+
"secureshield_secret_secure":"baremetal/secureshield/secret_secure",
28+
"secureshield_secret_secure_sid":"baremetal/secureshield/secret_secure_sid",
29+
"secureshield_test_case":"baremetal/secureshield/test_case",
30+
"sec_mbedtls_dtls_client":"freertos/sec/mbedtls/dtls/client",
31+
"sec_mbedtls_dtls_server":"freertos/sec/mbedtls/dtls/server",
32+
"sec_mbedtls_ssl_client2":"freertos/sec/mbedtls/ssl/client2",
33+
"sec_mbedtls_ssl_server2":"freertos/sec/mbedtls/ssl/server2"
34+
35+
'''
36+
37+
folder = ".travis"
38+
39+
if __name__ == '__main__':
40+
print(example)
41+
result = {}
42+
for (k,v) in example.items():
43+
result[k] = 0
44+
print("example[%s]=" %k,v)
45+
pathin = "../example/"+v
46+
os.chdir(pathin)
47+
os.system("make "+sys.argv[1]+" clean")
48+
if os.system("make "+sys.argv[1]+" -k") != 0:
49+
result[k] = 1
50+
pathout = pathin.count('/')*"../"+folder
51+
os.chdir(pathout)
52+
print(result)
53+
54+
for (k,v) in result.items():
55+
if v == 1:
56+
sys.exit(1)
57+
58+
sys.exit(0)

.travis/script.sh

+51
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
#!/bin/sh
2+
3+
die() {
4+
echo " *** ERROR: " $*
5+
exit 1
6+
}
7+
8+
set -x
9+
10+
[ $TRAVIS_OS_NAME != linux ] || {
11+
export PATH=/tmp/arc_gnu_2017.09_prebuilt_elf32_le_linux_install/bin:$PATH || die
12+
git checkout -- . || die
13+
bash apply_embARC_patch.sh || die
14+
cd .travis || die
15+
16+
[ $TOOLCHAIN != gnu -o $BOARD != emsk -o $BD_VER != 11 -o $CUR_CORE != arcem4 ] || {
17+
python3 build.py "TOOLCHAIN=${TOOLCHAIN} BOARD=${BOARD} BD_VER=${BD_VER} CUR_CORE=${CUR_CORE}" || die
18+
}
19+
20+
[ $TOOLCHAIN != gnu -o $BOARD != emsk -o $BD_VER != 11 -o $CUR_CORE != arcem6 ] || {
21+
python3 build.py "TOOLCHAIN=${TOOLCHAIN} BOARD=${BOARD} BD_VER=${BD_VER} CUR_CORE=${CUR_CORE}" || die
22+
}
23+
24+
[ $TOOLCHAIN != gnu -o $BOARD != emsk -o $BD_VER != 22 -o $CUR_CORE != arcem7d ] || {
25+
python3 build.py "TOOLCHAIN=${TOOLCHAIN} BOARD=${BOARD} BD_VER=${BD_VER} CUR_CORE=${CUR_CORE}" || die
26+
}
27+
28+
[ $TOOLCHAIN != gnu -o $BOARD != emsk -o $BD_VER != 22 -o $CUR_CORE != arcem9d ] || {
29+
python3 build.py "TOOLCHAIN=${TOOLCHAIN} BOARD=${BOARD} BD_VER=${BD_VER} CUR_CORE=${CUR_CORE}" || die
30+
}
31+
32+
[ $TOOLCHAIN != gnu -o $BOARD != emsk -o $BD_VER != 22 -o $CUR_CORE != arcem11d ] || {
33+
python3 build.py "TOOLCHAIN=${TOOLCHAIN} BOARD=${BOARD} BD_VER=${BD_VER} CUR_CORE=${CUR_CORE}" || die
34+
}
35+
36+
[ $TOOLCHAIN != gnu -o $BOARD != emsk -o $BD_VER != 23 -o $CUR_CORE != arcem7d ] || {
37+
python3 build.py "TOOLCHAIN=${TOOLCHAIN} BOARD=${BOARD} BD_VER=${BD_VER} CUR_CORE=${CUR_CORE}" || die
38+
}
39+
40+
[ $TOOLCHAIN != gnu -o $BOARD != emsk -o $BD_VER != 23 -o $CUR_CORE != arcem9d ] || {
41+
python3 build.py "TOOLCHAIN=${TOOLCHAIN} BOARD=${BOARD} BD_VER=${BD_VER} CUR_CORE=${CUR_CORE}" || die
42+
}
43+
44+
[ $TOOLCHAIN != gnu -o $BOARD != emsk -o $BD_VER != 23 -o $CUR_CORE != arcem11d ] || {
45+
python3 build.py "TOOLCHAIN=${TOOLCHAIN} BOARD=${BOARD} BD_VER=${BD_VER} CUR_CORE=${CUR_CORE}" || die
46+
}
47+
48+
[ $TOOLCHAIN != gnu -o $BOARD != hsdk -o $BD_VER != 10 -o $CUR_CORE != archs38_c0 ] || {
49+
python3 build.py "TOOLCHAIN=${TOOLCHAIN} BOARD=${BOARD} BD_VER=${BD_VER} CUR_CORE=${CUR_CORE}" || die
50+
}
51+
}

0 commit comments

Comments
 (0)