blob: 5168688ada567b84d29b47239baa12d231490737 [file] [log] [blame]
Jerome Forissier5da449e2017-09-05 09:47:19 +02001language: c
2build:
Jerome Forissier5da449e2017-09-05 09:47:19 +02003 pre_ci_boot:
Jerome Forissierf417c692019-09-09 16:45:41 +02004 image_name: jforissier/optee_os_ci_clangbuilt
Jerome Forissier5da449e2017-09-05 09:47:19 +02005 image_tag: latest
6 pull: true
7 options: "-e HOME=/root"
8 ci:
9 - export LC_ALL=C
Jerome Forissierf417c692019-09-09 16:45:41 +020010 - export PATH=/usr/local/bin:$PATH # clang
Jerome Forissier5da449e2017-09-05 09:47:19 +020011 - export CROSS_COMPILE32="ccache arm-linux-gnueabihf-"
12 - export CROSS_COMPILE64="ccache aarch64-linux-gnu-"
Jerome Forissierce50e712019-12-28 19:14:36 +010013 - export CFG_DEBUG_INFO=n
Jerome Forissierbeb065d2018-06-26 10:04:49 +020014 - export CFG_WERROR=y
Jerome Forissierd2bd4bd2020-07-21 10:55:17 +020015 - export START=$(date +%s)
16 - export PROJ=$ORG_NAME-$REPO_NAME
17 - export SCP_OPT="-o ConnectTimeout=10 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null"
18
19 - function download_cache() { ssh $SCP_OPT shippable@shippable-cache.forissier.org "cat ccache-$PROJ.tar.gz" | tar zx -C /root || echo Nevermind; }
20 - function upload_cache() { if [ ! -e .uploaded ]; then echo Uploading cache && tar c -C /root .ccache | gzip -1 | ssh $SCP_OPT shippable@shippable-cache.forissier.org "cat >ccache-$PROJ.tar.gz" && touch .uploaded || echo Nevermind; fi; }
21 - function check_upload_cache() { NOW=$(date +%s); if [ $(expr $NOW - $START) -gt 3000 ]; then upload_cache; fi; }
22 - function _make() { make -j$(getconf _NPROCESSORS_ONLN) -s O=out $* && ccache -s && ccache -z && check_upload_cache; }
23
24 - download_cache
Jerome Forissier5da449e2017-09-05 09:47:19 +020025 - ccache -z
26
Jerome Forissier5da449e2017-09-05 09:47:19 +020027 - _make
Jerome Forissierf417c692019-09-09 16:45:41 +020028 - _make COMPILER=clang
Jerome Forissiereca42812020-09-08 11:20:00 +020029 - _make CFG_TEE_CORE_LOG_LEVEL=4 CFG_TEE_CORE_DEBUG=y CFG_TEE_TA_LOG_LEVEL=4 CFG_CC_OPT_LEVEL=0 CFG_DEBUG_INFO=y
30 - _make CFG_TEE_CORE_LOG_LEVEL=0 CFG_TEE_CORE_DEBUG=n CFG_TEE_TA_LOG_LEVEL=0 CFG_DEBUG_INFO=n
Jens Wiklander5c54fb32018-07-10 12:16:58 +020031 - _make CFG_TEE_CORE_LOG_LEVEL=0
Jerome Forissiera0477f62020-08-10 09:24:24 +020032 - _make CFG_TEE_CORE_MALLOC_DEBUG=y CFG_CORE_DEBUG_CHECK_STACKS=y
Jerome Forissier5da449e2017-09-05 09:47:19 +020033 - _make CFG_CORE_SANITIZE_UNDEFINED=y
34 - _make CFG_CORE_SANITIZE_KADDRESS=y
Jerome Forissierab0df692018-10-15 16:43:03 +020035 - _make CFG_LOCKDEP=y
Jerome Forissier5da449e2017-09-05 09:47:19 +020036 - _make CFG_CRYPTO=n
37 - _make CFG_CRYPTO_{AES,DES}=n
38 - _make CFG_CRYPTO_{DSA,RSA,DH}=n
39 - _make CFG_CRYPTO_{DSA,RSA,DH,ECC}=n
40 - _make CFG_CRYPTO_{H,C,CBC_}MAC=n
41 - _make CFG_CRYPTO_{G,C}CM=n
Sumit Gargb8bb0af2018-11-15 12:08:05 +053042 - _make CFG_CRYPTO_{MD5,SHA{1,224,256,384,512,512_256}}=n
Jens Wiklanderd0340992019-12-11 10:07:35 +010043 - _make CFG_WITH_PAGER=y out/core/tee{,-pager,-pageable}.bin
Jens Wiklanderc8eb7882019-03-26 14:03:54 +010044 - _make CFG_WITH_PAGER=y CFG_CRYPTOLIB_NAME=mbedtls CFG_CRYPTOLIB_DIR=lib/libmbedtls
Jerome Forissier5da449e2017-09-05 09:47:19 +020045 - _make CFG_WITH_PAGER=y CFG_WITH_LPAE=y
Jens Wiklander6b7eef72019-10-24 14:41:53 +020046 - _make CFG_WITH_LPAE=y CFG_CORE_ASLR=y
47 - _make CFG_RPMB_FS=y CFG_CORE_ASLR=y
Jerome Forissier5da449e2017-09-05 09:47:19 +020048 - _make CFG_RPMB_FS=y CFG_RPMB_TESTKEY=y
49 - _make CFG_REE_FS=n CFG_RPMB_FS=y
Jerome Forissiereca42812020-09-08 11:20:00 +020050 - _make CFG_WITH_PAGER=y CFG_WITH_LPAE=y CFG_RPMB_FS=y CFG_DT=y CFG_TEE_CORE_LOG_LEVEL=1 CFG_TEE_CORE_DEBUG=y CFG_CC_OPT_LEVEL=0 CFG_DEBUG_INFO=y
Jerome Forissier217d9002018-05-14 13:09:18 +020051 - _make CFG_WITH_PAGER=y CFG_WITH_LPAE=y CFG_RPMB_FS=y CFG_DT=y CFG_TEE_CORE_LOG_LEVEL=0 CFG_TEE_CORE_DEBUG=n DEBUG=0
Jerome Forissier5da449e2017-09-05 09:47:19 +020052 - _make CFG_BUILT_IN_ARGS=y CFG_PAGEABLE_ADDR=0 CFG_NS_ENTRY_ADDR=0 CFG_DT_ADDR=0 CFG_DT=y
Sumit Garg59b3f212019-10-22 11:47:33 +053053 - _make CFG_FTRACE_SUPPORT=y CFG_ULIBS_MCOUNT=y CFG_ULIBS_SHARED=y
54 - _make CFG_TA_GPROF_SUPPORT=y CFG_FTRACE_SUPPORT=y CFG_SYSCALL_FTRACE=y CFG_ULIBS_MCOUNT=y
Jerome Forissier5da449e2017-09-05 09:47:19 +020055 - _make CFG_SECURE_DATA_PATH=y
Jerome Forissier20d176b2020-01-28 17:06:44 +010056 - _make CFG_REE_FS_TA_BUFFERED=y
Jerome Forissierb2aee602020-08-27 15:07:02 +020057 - _make PLATFORM=vexpress-qemu_armv8a CFG_CORE_ASLR=y
58 - _make PLATFORM=vexpress-qemu_armv8a COMPILER=clang
59 - _make PLATFORM=vexpress-qemu_armv8a CFG_WITH_PAGER=y
60 - _make PLATFORM=vexpress-qemu_armv8a CFG_FTRACE_SUPPORT=y CFG_ULIBS_MCOUNT=y CFG_ULIBS_SHARED=y
61 - _make PLATFORM=vexpress-qemu_armv8a CFG_TA_GPROF_SUPPORT=y CFG_FTRACE_SUPPORT=y CFG_SYSCALL_FTRACE=y CFG_ULIBS_MCOUNT=y
62 - _make PLATFORM=vexpress-qemu_armv8a CFG_VIRTUALIZATION=y
63 - _make PLATFORM=vexpress-qemu_armv8a CFG_CORE_SEL1_SPMC=y
Ilias Apalodimas493c2082020-07-21 16:51:46 +030064 - dd if=/dev/urandom of=BL32_AP_MM.fd bs=2621440 count=1 && _make PLATFORM=vexpress-qemu_armv8a CFG_STMM_PATH=BL32_AP_MM.fd CFG_RPMB_FS=y CFG_CORE_HEAP_SIZE=524288 CFG_TEE_RAM_VA_SIZE=0x00400000
Jerome Forissier5da449e2017-09-05 09:47:19 +020065 - _make PLATFORM=stm-b2260
Jerome Forissier5da449e2017-09-05 09:47:19 +020066 - _make PLATFORM=stm-cannes
Etienne Carriere411ec9b2018-06-19 09:45:36 +020067 - _make PLATFORM=stm32mp1
Etienne Carriere104f6c72020-05-06 13:53:51 +020068 - _make PLATFORM=stm32mp1-157C_DK2
Jerome Forissierdcf05552017-11-27 17:02:16 +010069 - _make PLATFORM=vexpress-fvp
Jerome Forissier5da449e2017-09-05 09:47:19 +020070 - _make PLATFORM=vexpress-fvp CFG_ARM64_core=y
Jerome Forissier5da449e2017-09-05 09:47:19 +020071 - _make PLATFORM=vexpress-juno
Jerome Forissier5da449e2017-09-05 09:47:19 +020072 - _make PLATFORM=vexpress-juno CFG_ARM64_core=y
Jerome Forissier5da449e2017-09-05 09:47:19 +020073 - _make PLATFORM=hikey
74 - _make PLATFORM=hikey CFG_ARM64_core=y
Fabien Parentbdb6a6a2020-10-19 18:08:30 +020075 - _make PLATFORM=mediatek-mt8173
Fabien Parentade61fe2019-02-24 19:41:08 +010076 - _make PLATFORM=mediatek-mt8516
Peng Fana01f09e2018-07-25 15:07:59 +080077 - _make PLATFORM=imx-mx6ulevk
Clement Faure97c70502020-02-28 16:47:40 +010078 - _make PLATFORM=imx-mx6ulevk CFG_NXP_CAAM=y
Clement Faure0c2f8062019-07-19 14:04:08 +020079 - _make PLATFORM=imx-mx6ul9x9evk
Peng Fana01f09e2018-07-25 15:07:59 +080080 - _make PLATFORM=imx-mx6ullevk
Clement Faure9df63cd2019-11-21 17:56:24 +010081 - _make PLATFORM=imx-mx6ulzevk
Bai Ping64de4822017-12-05 09:48:36 +080082 - _make PLATFORM=imx-mx6slevk
Bai Ping4dac8322017-12-04 10:53:55 +080083 - _make PLATFORM=imx-mx6sllevk
Peng Fan2a1bec12017-11-25 11:43:06 +080084 - _make PLATFORM=imx-mx6sxsabreauto
Clement Faure8fee1932019-07-19 14:27:45 +020085 - _make PLATFORM=imx-mx6sxsabresd
Clement Faure97c70502020-02-28 16:47:40 +010086 - _make PLATFORM=imx-mx6sxsabresd CFG_NXP_CAAM=y
Clement Faurec1f744f2019-07-19 14:26:51 +020087 - _make PLATFORM=imx-mx6solosabresd
88 - _make PLATFORM=imx-mx6solosabreauto
89 - _make PLATFORM=imx-mx6sxsabreauto
Jerome Forissier5da449e2017-09-05 09:47:19 +020090 - _make PLATFORM=imx-mx6qsabrelite
91 - _make PLATFORM=imx-mx6qsabresd
Rouven Czerwinski8a867bc2020-03-30 09:31:57 +020092 - _make PLATFORM=imx-mx6qsabresd CFG_RPMB_FS=y
Clement Faure26abeed2019-07-19 14:23:08 +020093 - _make PLATFORM=imx-mx6qsabreauto
Clement Faure97c70502020-02-28 16:47:40 +010094 - _make PLATFORM=imx-mx6qsabreauto CFG_NXP_CAAM=y
Clement Fauref9cf3c52019-07-19 14:00:43 +020095 - _make PLATFORM=imx-mx6qpsabreauto
96 - _make PLATFORM=imx-mx6qpsabresd
Jerome Forissier5da449e2017-09-05 09:47:19 +020097 - _make PLATFORM=imx-mx6dlsabresd
Clement Fauree5ad33e2019-07-19 14:08:40 +020098 - _make PLATFORM=imx-mx6dlsabreauto
Ricardo Salvetif5ae8b22019-08-28 19:22:52 -030099 - _make PLATFORM=imx-mx6dapalis
100 - _make PLATFORM=imx-mx6qapalis
Jerome Forissier5da449e2017-09-05 09:47:19 +0200101 - _make PLATFORM=imx-mx7dsabresd
Clement Faure97c70502020-02-28 16:47:40 +0100102 - _make PLATFORM=imx-mx7dsabresd CFG_NXP_CAAM=y
Clement Faurec3d61ba2019-08-02 16:40:40 +0200103 - _make PLATFORM=imx-mx7ulpevk
Clement Faure80753242019-11-14 13:59:19 +0100104 - _make PLATFORM=imx-mx8mmevk
Clement Faure97c70502020-02-28 16:47:40 +0100105 - _make PLATFORM=imx-mx8mmevk CFG_NXP_CAAM=y
Clement Faure80753242019-11-14 13:59:19 +0100106 - _make PLATFORM=imx-mx8mnevk
107 - _make PLATFORM=imx-mx8mqevk
108 - _make PLATFORM=imx-mx8qxpmek
109 - _make PLATFORM=imx-mx8qmmek
Andrew F. Davis87613cf2019-06-04 12:41:30 -0400110 - _make PLATFORM=k3-j721e
111 - _make PLATFORM=k3-j721e CFG_ARM64_core=y
Andrew F. Davis940a2432016-11-14 09:04:39 -0600112 - _make PLATFORM=k3-am65x
113 - _make PLATFORM=k3-am65x CFG_ARM64_core=y
Jens Wiklanderd0340992019-12-11 10:07:35 +0100114 - _make PLATFORM=ti-dra7xx out/core/tee{,-pager,-pageable}.bin
Jerome Forissier5da449e2017-09-05 09:47:19 +0200115 - _make PLATFORM=ti-am57xx
116 - _make PLATFORM=ti-am43xx
117 - _make PLATFORM=sprd-sc9860
118 - _make PLATFORM=sprd-sc9860 CFG_ARM64_core=y
119 - _make PLATFORM=ls-ls1021atwr
120 - _make PLATFORM=ls-ls1021aqds
Vinitha V Pillai929b5672018-08-06 14:12:32 +0530121 - _make PLATFORM=ls-ls1043ardb
122 - _make PLATFORM=ls-ls1046ardb
123 - _make PLATFORM=ls-ls1012ardb
Vinitha V Pillai17eba582018-08-10 12:45:30 +0530124 - _make PLATFORM=ls-ls1012afrwy
Sahil Malhotra5006ada2019-08-01 14:46:28 +0530125 - _make PLATFORM=ls-ls1028ardb
Vinitha V Pillai0ecda022018-08-10 12:48:29 +0530126 - _make PLATFORM=ls-ls1088ardb
Vinitha V Pillaia06857f2018-08-10 14:22:31 +0530127 - _make PLATFORM=ls-ls2088ardb
Pankaj Gupta73094382018-12-10 09:23:58 +0530128 - _make PLATFORM=ls-lx2160ardb
Jerome Forissier5da449e2017-09-05 09:47:19 +0200129 - _make PLATFORM=zynq7k-zc702
130 - _make PLATFORM=zynqmp-zcu102
131 - _make PLATFORM=zynqmp-zcu102 CFG_ARM64_core=y
132 - _make PLATFORM=d02
133 - _make PLATFORM=d02 CFG_ARM64_core=y
134 - _make PLATFORM=rcar
135 - _make PLATFORM=rcar CFG_ARM64_core=y
136 - _make PLATFORM=rpi3
137 - _make PLATFORM=rpi3 CFG_ARM64_core=y
138 - _make PLATFORM=hikey-hikey960
Jerome Forissierf417c692019-09-09 16:45:41 +0200139 - _make PLATFORM=hikey-hikey960 COMPILER=clang
Jerome Forissier5da449e2017-09-05 09:47:19 +0200140 - _make PLATFORM=hikey-hikey960 CFG_ARM64_core=y
Jerome Forissierf417c692019-09-09 16:45:41 +0200141 - _make PLATFORM=hikey-hikey960 CFG_ARM64_core=y COMPILER=clang
Jerome Forissier8ae7fa72018-01-18 09:34:47 +0100142 - _make PLATFORM=hikey-hikey960 CFG_SECURE_DATA_PATH=n
Victor Chongd22ddc72017-10-21 00:58:39 +0900143 - _make PLATFORM=poplar
144 - _make PLATFORM=poplar CFG_ARM64_core=y
Jerome Forissier5da449e2017-09-05 09:47:19 +0200145 - _make PLATFORM=rockchip-rk322x
Jerome Forissier5da449e2017-09-05 09:47:19 +0200146 - _make PLATFORM=sam
wangwen24bb7512017-11-16 14:36:08 +0800147 - _make PLATFORM=marvell-armada7k8k
148 - _make PLATFORM=marvell-armada3700
Sumit Garg901acff2018-05-28 13:53:46 +0100149 - _make PLATFORM=synquacer
Ying-Chun Liu (PaulLiu)3a946432018-05-27 14:35:39 +0800150 - _make PLATFORM=sunxi-bpi_zero
Amit Singh Tomare59d8fd2018-06-22 00:28:32 +0530151 - _make PLATFORM=sunxi-sun50i_a64
Sandeep Tripathy1a4fa972019-01-25 21:58:03 +0530152 - _make PLATFORM=bcm-ns3 CFG_ARM64_core=y
Zeng Taob7667022019-01-31 00:22:23 +0800153 - _make PLATFORM=hisilicon-hi3519av100_demo
Carlo Caioneb6afa132020-01-27 12:53:32 +0100154 - _make PLATFORM=amlogic
Sumit Gargf1cf4b72020-08-24 20:13:24 +0530155 - _make PLATFORM=rzn1
Jerome Forissierd2bd4bd2020-07-21 10:55:17 +0200156
157 - upload_cache